Назад | Перейти на главную страницу

Как сжать файл журнала размером 40 ГБ

У меня проблема в том, что мой файл журнала в SQL Server 2008 увеличен до 40 ГБ, и я хотел его уменьшить. Я использую запрос

    ALTER DATABASE DatabaseName SET RECOVERY SIMPLE
use DatabaseName
GO
CHECKPOINT
GO
DBCC SHRINKFILE(transactionloglogicalfilename,TRUNCATEONLY)
GO
ALTER DATABASE DatabaseName SET RECOVERY FULL

не сжимает файл журнала на более высоком уровне, а также файл журнала сжатия расширяется сразу за короткое время.

Так в чем же проблема?

Я хотел уменьшить файл журнала до 1 ГБ, а размер моей базы данных составляет 16 ГБ

У меня SQL Server 2008 R2

Пожалуйста, помогите мне

Зайдите в Management studio, щелкните правой кнопкой мыши базу данных, Tasks> Shrink> Files.

В разделе Тип файла выберите файл журнала. Убедитесь, что в качестве действия сжатия выбрано Освободить неиспользуемое пространство, нажмите ОК.

Что касается сжатого файла журнала, он снова быстро растет, вероятно, это связано с тем, что вы настроили модель полного восстановления. Установка простого значения приведет к немедленной фиксации изменений и не сохранит их в журнале. Простота хороша только в том случае, если вы регулярно выполняете полное резервное копирование.

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

  1. Щелкните правой кнопкой мыши в вашей базе данных
  2. выберите Свойства
  3. выберите Параметры
  4. Установите режим восстановления на просто

Это будет работать, и лучше всего, если ваше расписание резервного копирования Полное резервное копирование каждый день. Потому что в таком случае ваше бревно не будет обрезано и оно будет стремительно расти.

Если бы вы использовали технику резервного копирования «Дед и отец и сын». Что значит Ежемесячное полное резервное копирование, Еженедельное полное резервное копирование, а затем каждые дневное инкрементное резервное копирование. Тогда для этого вам понадобится Режим полного восстановления. Поэтому, учитывая, что вы настроили свою базу данных на полное резервное копирование, вам нужно либо прекратить это делать и переключить резервное копирование в режим простого восстановления, либо начать правильное резервное копирование, и ваш журнал будет обрезан резервными копиями.

В вашем случае, когда вы переключаете его на простой, а затем переключаете на полный, ваши журналы снова будут расти.

Объедините это с предложением DanBig уменьшить базу данных, выполнив следующие шаги:

  1. Откройте Sql Management Studio
  2. Щелкните базу данных правой кнопкой мыши, выберите «Задачи»> «Сжать»> «Файлы».
  3. В разделе Тип файла выберите файл журнала. Обязательно отметьте вариант Release unused space в качестве действия сжатия нажмите ОК.