![background image](/i/acronis/45882/acronis-backup-recovery-115-server-for-windows/h/acronis-backup-recovery-115-server-for-windows-234.png)
234
Copyright © Acronis International GmbH, 2002-2013
d.
В списке Модель восстановления выберите модель Простая.
2.
Файлы журнала транзакций будут усекаться автоматически.
3.
Переключите базу данных обратно на полную модель восстановления (Full) или модель
восстановления с неполным протоколированием (Bulk-logged) таким же способом, как в
шаге 1.
Автоматизация усечения журнала и уменьшения его размера
Вышеописанную процедуру усечения можно автоматизировать с помощью сценария и, если
потребуется, добавить уменьшение размера файла журнала. Если добавить сценарий к
команде, выполняемой после резервного копирования (стр. 109), журналы будут усечены, а их
размер будет сокращен сразу после создания резервной копии. Этот метод предполагает, что
вы умеете писать сценарии Transact-SQL и знакомы с утилитой
sqlcmd
.
Дополнительные сведения о языке Transact-SQL и утилите
sqlcmd
см. в следующих статьях:
Использование Transact-SQL:
http://technet.microsoft.com/en-us/library/ms189826(v=sql.90)
Использование утилиты
sqlcmd
:
http://technet.microsoft.com/en-us/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
к команде, выполняемой после резервного
копирования (стр. 109):
sqlcmd -S
myServer
\
instanceName
-i
C:\myScript.sql
Куда:
myServer
— имя сервера;
instanceName
— имя экземпляра;
C:\myScript.sql
— путь к файлу сценария, созданному в шаге 1.