Инструкция по эксплуатации Acronis Backup for Windows Server - User Guide
Страница 227
227
Copyright © Acronis International GmbH, 2002-2014
Автоматизация усечения журнала и уменьшения его размера
Вышеописанную процедуру усечения можно автоматизировать с помощью сценария и, если
потребуется, добавить уменьшение размера файла журнала. Если добавить сценарий к
команде, выполняемой после резервного копирования (стр. 105), журналы будут усечены, а их
размер будет сокращен сразу после создания резервной копии. Этот метод предполагает, что
вы умеете писать сценарии 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
к команде, выполняемой после резервного
копирования (стр. 105):
sqlcmd -S
myServer
\
instanceName
-i
C:\myScript.sql
Куда:
myServer
— имя сервера;
instanceName
— имя экземпляра;
C:\myScript.sql
— путь к файлу сценария, созданному в шаге 1.
Как автоматизировать усечение журнала транзакций и уменьшение его размера для
нескольких экземпляров SQL
Если на машине несколько экземпляров, к которым нужно применить вышеописанную
процедуру, сделайте следующее.
1.
Создайте отдельный файл сценария для каждого экземпляра (например, C:\script1.sql и
C:\script2.sql).
2.
Создайте пакетный файл (например, C:\truncate.bat), который будет содержать команды
для соответствующего экземпляра: