Сегодня я вижу, что .ldf-файл базы данных SQL Server имеет размер 66 ГБ. МДФ составляет всего 200 МБ.Управление ростом файла SQL Server .LDF
Как отключить ведение журнала в файле .ldf?
Сегодня я вижу, что .ldf-файл базы данных SQL Server имеет размер 66 ГБ. МДФ составляет всего 200 МБ.Управление ростом файла SQL Server .LDF
Как отключить ведение журнала в файле .ldf?
Ваша база данных, вероятно, находится в режиме восстановления, поэтому ваш лучший и простой способ сделать ее небольшой - сделать полную резервную копию, за которой следуют инкрементные резервные копии, которые сильно сократят ее.
Если вы не хотите делать инкрементные резервные копии (например, из-за отсутствия резервного копирования), и вы не хотите, чтобы LDF был таким большим, вам нужно было установить режим восстановления на простой.
Чтобы настроить ведение журнала базы данных на простой (но только если вы делаете полное резервное копирование своей базы данных!).
Для обрезки файла журнала базы данных сделайте следующее шаги:
Получить физические имена файла базы данных (MDF) и файл журнал (LDF): Выполните следующую систему хранимой процедура:
use <yourdatabasename>
exec sp_helpfile
Этой команда возвращает различную информацию, в том числе физического размера (столбец size
), а также путь и имя вашей базы данных и файлов журнала (в столбце filename
).
Запишите имя файла из «имя файла» colunm, исключая путь к файлу и расширение (например, если имя файла содержит C:\sqldatabases\yourdatabase_data.mdf
вы хотите сохранить строку yourdatabase_data
)
Усечение базы данных и сжатие базы данных The следующий набор SQL сжимает вашу базу данных и truncate
файл журнала. Файл в парматах окружен < ...>. Обратите внимание, что вам понадобятся два значения filename
с этапа 1.
USE <yourdatabasename>
GO
BACKUP LOG <yourdatabasename> WITH TRUNCATE_ONLY
GO
DBCC SHRINKFILE (<yourdatabaselogfilename>, 1)
GO
DBCC SHRINKFILE (<yourdatabasedatafilename>, 1)
GO
exec sp_helpfile
Этот ответ является устаревшим (с SQL Server Server 2008). BACKUP WITH TRUNCATE ONLY больше не работает. Для 2008 вы хотите DBCC SHRINKFILE ('ExampleDB_log', 0, TRUNCATEONLY) – mhenry1384 2012-11-12 18:19:55