База данных Sql-DBCC Shrink не уменьшает размер базы данных - PullRequest
0 голосов
/ 26 апреля 2018

Я использую SQL Server Express Edition с ограничением размера 10 ГБ. В некоторых таблицах есть миллионы + строк, и мне нужно выполнять операцию очистки данных в конце каждого месяца, чтобы освободить пространство и сделать его доступным для новое хранилище данных

Если я использую сжатие через SSMS (щелчок правой кнопкой мыши на базе данных, затем задача, затем сжатие), она работает плавно и освобождает пространство, как и ожидалось. Но проблема возникает, когда я пытаюсь добиться того же с

ALTER DATABASE MyDatabase SET RECOVERY SIMPLE

GO

DBCC SHRINKDATABASE(MyDatabase)

GO

ALTER DATABASE MyDatabase SET RECOVERY FULL

GO

Он буквально не показывает никакого эффекта, фактически увеличивает размер файла журнала, но никогда не освобождает место. Если есть какое-либо решение, оно будет очень доступным

Заранее спасибо

1 Ответ

0 голосов
/ 26 апреля 2018

Я бы не стал переключать модель восстановления на SIMPLE для принудительного сжатия.

Если для модели восстановления задано значение ПОЛНОЕ, необходимо выполнить полное резервное копирование и, по крайней мере, одну резервную копию журнала транзакций, чтобы выполнить условие восстановления, прежде чем можно будет сжимать базу данных.

...