Как сжать файл журнала 40GB
У меня проблема в том, что мой файл журнала в 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
Пожалуйста, кто-нибудь, помогите мне
2 ответа
Зайдите в Management studio, щелкните правой кнопкой мыши базу данных, Задачи> Сжать> Файлы.
Под Тип файла выберите файл журнала. Убедитесь, что в качестве действия сжатия выбрано Освобождение неиспользуемого пространства, нажмите ОК.
Что касается сокращенного файла журнала, который снова быстро растет, то, вероятно, потому, что вы настроили модель полного восстановления. Если установить его в простой режим, изменения будут немедленно приняты, а не сохранены в журнале. Простое полезно только в том случае, если вы регулярно выполняете полное резервное копирование.
Если вы хотите предотвратить дальнейший рост, вам нужно установить простое ведение журнала базы данных (но только если вы выполняете полное резервное копирование базы данных!).
- Щелкните правой кнопкой мыши на вашей базе данных
- Выберите Свойства
- Выберите параметры
- Установите режим восстановления на простой
Это будет работать, и лучше всего, если ваш график резервного копирования Full Backup каждый день. Потому что при таком сценарии ваш журнал не будет обрезан и взлетит до небес.
Если вы будете использовать технику резервного копирования "Дедушка, папа и сын". Это означает Ежемесячное полное резервное копирование, Еженедельное полное резервное копирование, а затем ежедневное добавочное резервное копирование. Тогда для этого вам нужен режим полного восстановления. Поэтому, учитывая, что для вашей базы данных установлено полное резервное копирование, вам нужно либо прекратить делать это и переключить резервное копирование в режим простого восстановления, либо начать правильно выполнять резервное копирование, и ваш журнал будет урезан резервными копиями.
В вашем случае, когда вы переключаете его на простой, а затем переключаете его на полный, ваши журналы будут расти снова.
Объедините это с предложением DanBig для сокращения базы данных, выполнив следующие шаги:
- Откройте Sql Management Studio
- Щелкните правой кнопкой мыши базу данных, Задачи> Сжать> Файлы.
- Под Тип файла выберите файл журнала. Обязательно отметьте опцию
Release unused space
в качестве действия сжатия нажмите ОК.