Часто возникает ситуация, когда на диске заканчивается свободное место из-за разросшегося журнала транзакций. Особенно тяжело бывает на серверах для разработки и тестирования, где инфобазы создаются в больших количествах. Скрипт позволяет автоматически включить простую модель восстановления и обрезать ldf файлы для всех баз, зарегистрированных на MS SQL Server.
По умолчанию в SQL Server 2008 модель восстановления FULL. Из-за этого журнал транзакций разрастается до такой степени, что при входе в 1С может появляться ошибка о нехватке места. Особенно тяжело бывает на серверах для разработки и тестирования, где инфобазы создаются в больших количествах.
Разработчики постоянно создавали новые/перегружали старые базы из бэкапов, и место потихоньку съедалось. Заставить их контролировать модель восстановления и обрезать логи оказалось непосильной задачей. Проще написать скрипт, который раз в неделю для всех баз устанавливает простую модель восстановления и обрезает журнал транзакций. При работе скрипта учитывается, что часть баз может быть в оффлайне.
Можно оформить как job и запускать раз в неделю по расписанию.
Не рекомендуется к использованию на боевых серверах, если вы не понимаете разницы между моделями восстановления баз данных full и simple.
Источник: здесь
Разработчики постоянно создавали новые/перегружали старые базы из бэкапов, и место потихоньку съедалось. Заставить их контролировать модель восстановления и обрезать логи оказалось непосильной задачей. Проще написать скрипт, который раз в неделю для всех баз устанавливает простую модель восстановления и обрезает журнал транзакций. При работе скрипта учитывается, что часть баз может быть в оффлайне.
Можно оформить как job и запускать раз в неделю по расписанию.
Не рекомендуется к использованию на боевых серверах, если вы не понимаете разницы между моделями восстановления баз данных full и simple.
Источник: здесь
Файл .ldf стал слишком большим!
Для начало не много теории о том что такое лог транзакции в MS SQL сервере. Говоря простым языком лог транзакции необходим для отката Базы данных в предыдущее состояние — контекстное состояние. Как правило в журнале храниться порядковый номер, тип изменения, проделанные операции и т.д. В прицепе можно обойтись без лога транзакции, но увы тогда есть возможность потерять БД. В MS SQL 2000 шринк лога выполнялся как правило с помощью QueryAnalizer и вот этого скрипта:
Но это применимо только для базы данных с режимом восстановления simple — 2000 сервер создавал бд по умолчанию с этим параметром. Если ваша БД имеет модель восстановления FULL то тогда необходим воспользоваться скриптом:
Параметр 50 означает что журнал будет урезан до 50 МБ. на этом шринк лога закончен. Собственно второй скрипт и подходит для 2008 SQL Server(2005, 2008, 2012).
Комментариев нет:
Отправить комментарий