У меня есть очень большой файл ldf: 45 ГБ .. против файла данных mdf «всего» 1 ГБ. Мои вопросы:
Безопасно ли использовать DBCC ShrinkFile для файла журнала (ldf)?
Как программно ограничить размер файла ldf?
Спасибо
Короткий ответ: «Нет, не рекомендуется сжимать файлы журнала».
Решение состоит в том, чтобы выполнить полное резервное копирование вашей базы данных, затем отсоединить базу данных, переименовать файл журнала в нечто вроде database.ldf.old, а затем повторно подключить базу данных, не указывая новое расположение файла журнала. Это создаст новый пустой файл журнала.
Правильный способ гарантировать, что ваши файлы журнала не будут чрезмерно расти, - это выполнять регулярное резервное копирование журнала транзакций. Это в дополнение к регулярному полному резервному копированию. Однако это применимо только в том случае, если ваша база данных использует модель полного восстановления. Вы можете узнать, какую модель она использует, щелкнув правой кнопкой мыши базу данных в Management Studio, а затем щелкнув свойства. Перейдите на страницу параметров, и на этом экране вы увидите тип сопоставления, модель восстановления и уровень совместимости.
Если вам не требуется возможность восстановления на любой момент времени путем преобразования журнала транзакций в конкретную транзакцию, использование простого режима восстановления и обеспечение регулярного резервного копирования базы данных путем выполнения полного резервного копирования предотвратит чрезмерный рост файла журнала. Также рекомендуется размещать файлы журнала на отдельном томе (как минимум), чтобы файл журнала не мог препятствовать входу на ваш сервер (т.е. если он находится в загрузочном разделе и полностью заполняет диск)
Это зависит от того, насколько критичны ваши базы данных SQL, в нашем случае мы делаем только резервную копию БД, а затем регулярно сжимаем файлы журнала, имейте в виду, что файл журнала не будет уменьшен, если сама база данных не резервная
Итак, сначала сделайте резервную копию базы данных, уменьшите базу данных