Метод быстрого усечения журнала транзакций и перевода БД в offline
Статьи / SQL / MS SQL Server /
Назад
По материалам статьи Krishnan М. Kaniappan на swynk.com "Quickly Shrinking the Transaction Log"
В этой статье Кришнан обсуждает два следующих аспекта:
- Усечение журнала транзакций.
- Метод перевода базы данных в автономный режим (offline).
Усечение журнала транзакций
Кришнан предлагает следующую уловку для быстрого усечения журнала транзакций, который у Вас может стать слишком большим. Вы можете сократить журнал транзакций, используя системные хранимые процедуры sp_detach_db и sp_attach_db. Для получения дополнительной информации об отсоединении и присоединении баз данных обратитесь к BOL. Когда Вы отсоединяете базу данных, используя sp_detach_db, SQL сервер будет знать, что работа с базой данных была корректно завершена, и для последующего прикрепления базы данных, журнал транзакций не нужен и может быть не доступен. Его можно удалить. Когда Вы прикрепляете базу данных, SQL сервер создаёт новый журнал, который будут иметь минимальный размер. Для этого необходимо выполнить следующие шаги:
- Отсоедините базу данных, используя процедуру sp_detach_db (предварительно убедитесь, что никакие процессы не используют файлы базы данных);
- Удалите журнал;
- Прикрепите базу данных заново, используя процедур sp_attach_db у.
Так как Вы отсоединяете и прикрепляете базу данных к тому же самому серверу, Вы не будете иметь проблем с нарушением логинов. Для получения дополнительной информации по усечению файлов журналов транзакций, состоящих из одного или более журналов, Вы можете обратиться к статьям Базы Знаний Микрософт: Q256650 (для SQL 7.0) и Q272318 (для SQL 2000).