A SERVICE OF

logo

236 Copyright © Acronis International GmbH, 2002- 2013
b. Щелкните базу данных правой кнопкой мыши и выберите пункт Свойства. Откроется
диалоговое окно Свойства базы данных.
c. В области Выберите страницу нажмите Параметры.
d. В списке Модель восстановления выберите модель Простая.
2. Файлы журнала транзакций будут усекаться автоматически.
3. Переключите базу данных обратно на полную модель восстановления (Full) или модель
восстановления с неполным протоколированием (Bulk-logged) таким же способом, как в
шаге 1.
Автоматизация усечения журнала и уменьшения его размера
Вышеописанную процедуру усечения можно автоматизировать с помощью сценария и, если
потребуется, добавить уменьшение размера файла журнала. Если добавить сценарий к
команде, выполняемой после резервного копирования (стр. 110), журналы будут усечены, а их
размер будет сокращен сразу после создания резервной копии. Этот метод предполагает, что
вы умеете писать сценарии Transact-SQL и знакомы с утилитой sqlcmd.
Дополнительные сведения о языке Transact-SQL и утилите sqlcmd см. в следующих статьях:
Использование Transact-SQL: http://technet.microsoft.com/ru-ru/library/ms189826(v=sql.90)
Использование утилиты sqlcmd:
http://technet.microsoft.com/ru-ru/library/ms170572(SQL.90).aspx
Как автоматизировать усечение журнала транзакций и уменьшение его размера для
одного экземпляра SQL
1. Используя следующий шаблон, создайте сценарий, который усечет файлы журнала для баз
данных экземпляра и уменьшит их размер:
USE database_name
ALTER DATABASE имя_базы_данных SET RECOVERY SIMPLE;
DBCC SHRINKFILE(имя_файла_журнала);
ALTER DATABASE имя_базы_данных SET RECOVERY FULL;
В последней строке значение SET RECOVERY зависит от исходной модели восстановления
конкретной базы данных и может быть FULL или BULK_LOGGED.
Пример экземпляра с двумя базами данных (TestDB1 и TestDB2):
USE TestDB1;
ALTER DATABASE TestDB1 SET RECOVERY SIMPLE;
DBCC SHRINKFILE(TestDB1_log);
ALTER DATABASE TestDB1 SET RECOVERY FULL;
USE TestDB2;
ALTER DATABASE TestDB2 SET RECOVERY SIMPLE;
DBCC SHRINKFILE(TestDB2_log);
ALTER DATABASE TestDB2 SET RECOVERY BULK_LOGGED;
2. Добавьте следующую команду sqlcmd к команде, выполняемой после резервного
копирования (стр. 110):
sqlcmd -S myServer\instanceName -i C:\myScript.sql
Куда:
myServerимя сервера;
instanceNameимя экземпляра;
C:\myScript.sqlпуть к файлу сценария, созданному в шаге 1.