Перейти к основному содержимому

ALIMUSAEV — IT и 1С

C:\> type \instructions\bekapy\nastroit-plan-obsluzhivaniya-baz-dannyh-v-ms-sql.md

Настроить план обслуживания баз данных в MS SQL

НАЗНАЧЕНИЕ

Настройка плана обслуживания баз данных через MS SQL.

**Примечание:** план обслуживания баз данных — самая основная задача системного администратора. Он должен работать стабильно, сисадмин должен уделять этому повышенное внимание.

ПРИМЕНЕНИЕ

Когда нужно настроить автоматическое резервное копирование и обслуживание баз данных по расписанию.

УСЛОВИЕ

  • Права администратора в Windows и в MS SQL;

  • Умение работать с СУБД;

  • Достаточный объем памяти в диске или на сетевой шаре;

  • Наличие тестовой копии боевой базы;

  • Простая модель у тестовой и полная модель восстановления у боевой базы;

  • Бесперебойная работа сервера и служб MS SQL — периодически проверять!

РЕШЕНИЕ:

Создание плана обслуживания:

  1. Запустить MS SQL Server Management Studio и авторизоваться от имени администратора (обычно sa);

  2. Перейти в «Управление» -> «План обслуживания», ПКМ и выбрать «Создать план обслуживания»;

  3. Дать имя плану обслуживания и создать три вложенных плана: еженедельный полный бэкап, ежедневный разностный бэкап и ежечасный бэкап журнала транзакции.

Настройка плана полного бэкапа:

  1. Полный бэкап рекомендуется создавать в каждый понедельник во внерабочее время;

  2. Создать следующие задачи, которые должны быть соединены последовательно (скриншот прилагается):

  1. В задаче «Проверка целостности базы данных» выбрать базы, оставить галочки только на «Включить индексы» и «Только физическое»;

  2. В задаче «Перестроение индекса» выбрать базы, остальное оставить по умолчанию;

  3. В задаче «Обновление статистики» выбрать базы, остальное так же по умолчанию;

  4. В задаче «Выполнение инструкции T-SQL» написать запрос очистки кэша:

DBCC FREEPROCCACHE
  1. В задаче «Резервное копирование базы данных» выбрать базы, во вкладке «Целевой объект» указать каталог хранения бэкапа и его расширение bak, во вкладке «Параметры» поставить галочку на «Проверять целостность резервной копии», остальное не трогать;

  2. В задаче «Очистка после обслуживания» указать каталог, где будут находиться бэкапы с расширением bak, поставить галочку на «Удалять файлы на основе возраста во время выполнения задачи», затем указать время хранения бэкапов (рекомендуется 1 месяц).

Настройка плана разностного бэкапа:

  1. Разностный бэкап рекомендуется создавать каждый день в конце рабочего дня (оптимальное время — 22:00);

  2. Создать задачи резервного копирования и очистки после обслуживания, остальное не нужно;

  3. Повторить шаги 10 (только указать другой каталог) и 11 (только поменять время хранения бэкапов, рекомендуется 1-2 недели).

Настройка плана бэкапа журнала транзакций:

  1. Журнал транзакции рекомендуется создавать ежечасно с 9:00 до 21:00;

  2. Повторить шаг 13;

  3. Повторить шаги 10 (только расширение trn и другой каталог) и 11 (только с расширением trn и поменять время хранения бэкапов, рекомендуется 3 дня);

  4. Сохраняем все.

РЕЗУЛЬТАТ

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

ТИПОВЫЕ ОШИБКИ

❌ Проблема: бэкап не был создан после настройки плана обслуживания.

✅ Решение: проверить состояние службы MS SQL, объем диска и права доступа к целевой папке, иногда помогает перезапуск сервера.


❌ Проблема: разрастается журнал с расширением .ldf.

✅ Решение: если тестовая база — ПКМ на тестовой базе, оттуда «Задачи» -> «Сжать» -> «Файлы». Там выбрать тип файла «Журнал» и реорганизовать. Если боевая база — настроить вложенный план бэкапа журнала транзакций и участить его бэкапирование (через каждые полчаса, например).

---

**Связанные инструкции:** [Настроить резервное копирование баз через MS SQL на сетевую шару](http://localhost:10011/nastroit-rezervnoe-kopirovanie-baz-cherez-ms-sql-na-setevuyu-sharu)