2010-12-09 3 views

ответ

14

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

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

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

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

Для обрезки файла журнала базы данных сделайте следующее шаги:

Получить физические имена файла базы данных (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 
+7

Этот ответ является устаревшим (с SQL Server Server 2008). BACKUP WITH TRUNCATE ONLY больше не работает. Для 2008 вы хотите DBCC SHRINKFILE ('ExampleDB_log', 0, TRUNCATEONLY) – mhenry1384 2012-11-12 18:19:55

Смежные вопросы