gifts2017

Скрипт SQL для массового включения SIMPLE модели восстановления и обрезания ldf файлов на всех базах сервера

Опубликовал Вячеслав Алпатов (DonAlPatino) в раздел Администрирование - Архивирование (backup)

Часто возникает ситуация, когда на диске заканчивается свободное место из-за разросшегося журнала транзакций. Особенно тяжело бывает на серверах для разработки и тестирования, где инфобазы создаются в больших количествах. Скрипт позволяет автоматически включить простую модель восстановления и обрезать ldf файлы для всех баз, зарегистрированных на MS SQL Server.

По умолчанию в SQL Server 2008 модель восстановления FULL. Из-за этого журнал транзакций разрастается до такой степени, что при входе в 1С может появляться ошибка о нехватке места. Особенно тяжело бывает на серверах для разработки и тестирования, где инфобазы создаются в больших количествах.

Разработчики постоянно создавали новые/перегружали старые базы из бэкапов, и место потихоньку съедалось. Заставить их контролировать модель восстановления и обрезать логи оказалось непосильной задачей. Проще написать скрипт, который раз в неделю для всех баз устанавливает простую модель восстановления и обрезает журнал транзакций. При работе скрипта учитывается, что часть баз может быть в оффлайне.

Можно оформить как job и запускать раз в неделю по расписанию.

Не рекомендуется к использованию на боевых серверах, если вы не понимаете разницы между моделями восстановления баз данных full и simple.

Скачать файлы

Наименование Файл Версия Размер
Скритп TSQL - "тотальное обрезание" 4
.rar 0,60Kb
04.02.16
4
.rar 0,60Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Alexander Speshilov (speshuric) 05.02.16 14:52
Скрипт не читал (извините, лень, ну и из скриншотов всё и так ясно). Есть пара замечаний по сценариям использования.
  • Если вас так уж пучит полная модель, то можно поменять модель восстановления на БД model и она будет применяться для всех новых баз (бэкапы будут, конечно, восстанавливаться "как было")
  • Правильно указан сценарий "для разработчиков", но я бы порекомендовал автору еще и сжимать индексы/кучи на уровне страниц для этого сценария. Планы запросов (на 99,5%) останутся теми же и отладке не мешает, а вот для групп в 10-20 разработчиков это позволит на одном сервере держать МНОГО копий баз. Конечно, после перестроения индексов еще и шринк mdf, после чего у вас всё станет фрагментировано на 100%, но мы же про БД разработчика говорим, он это переживёт. Эта возможность доступна в Enterprise и Developer редакциях, да и не поддерживается 1С, в ней есть некоторые грабли, поэтому на продакшене я бы её старался не использовать. А вот для разработки - отлично.
  • Хорошей идеей было бы после уфигачивания ldf еще и поставить явно тот прирост, который вам комфортен (напр 100 МБ кажется разумным)
  • Хорошей идеей для разработчиков является не беспорядочное поднятие свежего быкапа, а раз в неделю снять бэкап и его подготовить (модель, сжатие индексов, обезличивание если надо, зачистка боевых строка подключений к левым сервисам, общих путей и т.п.). Естественно, эта операция должна быть автоматической.
2. aspirator 23 (aspirator23) 13.02.16 16:01
3. Вячеслав Алпатов (DonAlPatino) 15.02.16 09:37
(2) aspirator23, Не скачивал, не читал.Судя по логу мой вы тоже не скачивали. Поэтому прежде чем бросаться обвинениями может имеет смысл сравнить?
4. aspirator 23 (aspirator23) 17.02.16 15:40
(3) DonAlPatino, Начало смутило. Одинаковые буквы
5. Сергей Травкин (TravkinSV) 17.03.16 17:10
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа