Как урезать лог транзакций в MS SQL Server 2008?
>> 11 июля 2012 г.
С MS SQL Server 2008 мне не доводилось плотно работать, т.к. все поддерживаемые у нас сервисы работают либо под управлением MS SQL Server 2000, либо под MS SQL Server 2005.
Сегодня мне потребовалось произвести усечение лога транзакций.
Развернул тестовую базу и провел с ней ряд манипуляций, в результате чего лог вырос до 58 Гб!!!Оказалось, что MS SQL Server 2008 не поддерживает опцию TRUNCATE_ONLY в команде BACKUP LOG.
Погуглил, выяснил, что опция не поддерживается.
Пишут, что надо сначала делать модель восстановления на Simple.
Далее выполнить команду dbcc shrinkfile.
После этого вернуть модель восстановления в Full.
Итоговый скрип вышел такой:
USE ИмяБазы
ALTER DATABASE ИмяБазы SET RECOVERY SIMPLE
DBCC SHRINKFILE (ИмяФайлаЛога, ЖелаемыйРазмер);
ALTER DATABASE ИмяБазы SET RECOVERY FULL
Источник
Сегодня мне потребовалось произвести усечение лога транзакций.
Развернул тестовую базу и провел с ней ряд манипуляций, в результате чего лог вырос до 58 Гб!!!Оказалось, что MS SQL Server 2008 не поддерживает опцию TRUNCATE_ONLY в команде BACKUP LOG.
Погуглил, выяснил, что опция не поддерживается.
Пишут, что надо сначала делать модель восстановления на Simple.
Далее выполнить команду dbcc shrinkfile.
После этого вернуть модель восстановления в Full.
Итоговый скрип вышел такой:
USE ИмяБазы
ALTER DATABASE ИмяБазы SET RECOVERY SIMPLE
DBCC SHRINKFILE (ИмяФайлаЛога, ЖелаемыйРазмер);
ALTER DATABASE ИмяБазы SET RECOVERY FULL
Источник
0 коммент.:
Отправить комментарий