Я не могу понять, как уменьшить размер файла ldf базы данных.
Администратор базы данных говорит, что я должен использовать backup log dbname with truncate_only
И хотя похоже, что в SQL Query Analyzer он выполняется правильно, размер файла ldf по-прежнему превышает 2 ГБ.
** Пояснения на основе некоторых комментариев и некоторых ответов ниже. *** Конкретная рассматриваемая база данных - это база данных, которая находится на моем ноутбуке, и я использую ее только для процессов разработки. Файл журнала увеличивался до точки, в которой предполагалось заполнить диск. Производственный риск отсутствует. Я понимаю, что метод в заданном мною вопросе и принятый мною ответ являются рискованными в производственной среде *.
О ужас! Пожалуйста, перестаньте говорить людям, что им следует сжимать файлы журналов!
Если вы сами попали в такую ситуацию, то весьма вероятен один из следующих случаев:
Ответ на каждый из них следующий:
Если (1), то перевести базу данных в простой режим
Если (2), то запланировать регулярное резервное копирование журнала.
Если (3), то исправьте запланированное резервное копирование журнала.
Если (4), то просто не делайте этого :) Вместо этого работайте небольшими партиями.
Обратите внимание, что НИ ОДИН из них не требует использования (устаревшего) «резервного журнала dbname with truncate_only»
Вместо этого, как только вы это сделаете Чисто файл журнала, используя один из описанных выше методов, затем сожмите (теперь пустой) журнал с помощью:
DBCC SHRINKFILE ('log logical name', 2000)
Всегда указывайте разумный конечный размер, иначе он сократится почти до нуля, и в следующий раз, когда он понадобится, потребуется время, чтобы вырасти.
после выполнения «резервного копирования с помощью truncate_only» вы должны выполнить следующую команду для сжатия
dbcc SHRINKFILE (logfilename,shrink_tosize)
например
dbcc SHRINKFILE (mydatabase_Log,512)
Сценарий, который вы написали выше, пометит содержимое журнала для повторного использования. Следуйте этому сценарию с помощью:
USE <database>;
DBCC SHRINKFILE (<log logical file name>)
Это уменьшит его для вас.