План обслуживания (вкладка «Конструктор»)
План обслуживания (вкладка «Конструирование») используется для указания свойств плана обслуживания и его вложенных планов. Перетащите задачи из области элементов в конструктор планов. Щелкните правой кнопкой мыши группы задач, чтобы создать ветвящиеся пути выполнения. Планы обслуживания сохраняются в виде пакетов служб Integration Services, выполняемых заданиями агента SQL Server.
Параметры
- Добавление вложенного плана Добавляет настраиваемый вложенный план.
- Свойства вложенного плана Отображает диалоговое окно Свойства вложенного плана . Выберите подплан в сетке и выберите этот значок, чтобы ввести имя, описание и расписание для подплана. Чтобы вывести диалоговое окно Свойства вложенного плана , можно дважды щелкнуть вложенный план в сетке. Длина имени вложенного плана ограничена 128 знаками, а длина описания плана — 512 знаками.
- Удаление выбранного вложенного плана Удаляет выбранный вложенный план.
- Расписание вложенного плана Вызывает диалоговое окно Свойства расписания задания . Выберите подплан в сетке и выберите этот значок, чтобы настроить расписание для подплана.
- Удаление расписания Удаляет расписание из выбранного вложенного плана.
- Управление подключениями Вызывает диалоговое окно Управление соединениями . Используется для добавления дополнительных подключений экземпляра SQL Server к плану обслуживания. Каждая задача обслуживания в редакторе вложенных планов может использовать любое из этих соединений. При выполнении план обслуживания выполняет подключение с сервера плана обслуживания к указанным серверам SQL Server с использованием учетных данных подключения.
- Отчеты и ведение журнала Выводит диалоговое окно Отчеты и ведение журнала , которое используется для управления отчетами, касающимися операций плана обслуживания, и для настройки ведения журналов на локальном и удаленном сервере.
- Серверы Отображает диалоговое окно Серверы , которое используется для выбора серверов, на которых будут выполняться задачи вложенного плана. Этот параметр доступен только на главных серверах в многосерверном окружении. Дополнительные сведения см. в статье Создание многосерверной среды.
- Наименование Отображает имя плана обслуживания. Имя нового плана обслуживания необходимо указать в диалоговом окне до открытия конструктора планов обслуживания. Чтобы переименовать план обслуживания, щелкните правой кнопкой мыши план в обозревателе объектов и выберите » Переименовать«.
- Описание Просмотрите или укажите описание для плана обслуживания. Максимальная длина описания составляет 512 знаков.
- Область конструктора Создание и обслуживание планов обслуживания. Используйте область конструктора, чтобы добавлять задачи обслуживания к плану, удалять задачи из плана, указывать ссылки очередности между задачами, а также для указания ветвления задач и параллелизма.
Ссылка очередности между двумя задачами устанавливает связь между ними. Вторая задача ( зависимая) выполняется только в том случае, если результат выполнения первой задачи ( приоритетной) удовлетворяет указанным критериям. Обычно оценка результата выполнения задается как Успешно, Ошибкаили Завершение. Область конструктора планов обслуживания основана на области конструктора служб SSIS. Дополнительные сведения см. в статье Precedence Constraints.
Например, для задачи «Дефрагментация индекса» можно указать, что она должна выполняться только в случае, если предыдущая задача «Проверка целостности базы данных» была завершена успешно. Возможность ссылок очередности задач также позволяет управлять условиями обработки ошибок и сбоев в плане. Например, можно указать, что в случае неудачного выполнения задачи «Проверка целостности базы данных» задача «Оповещение оператора» сообщает пользователю или оператору о неудаче.
Указание задач, которые должны выполняться в случае неудачного выполнения предшествующей задачи, является примером ветвления задач.
Указание на то, что выполнение двух или более задач должно начаться одновременно, например после успешного завершения предшествующей задачи, является примером параллелизма задач. Все задачи, не имеющие ограничений, запускаются и выполняются одновременно. Чтобы отложить задачу до завершения предыдущей, используются ограничения.
После помещения задачи обслуживания в область конструктора ее свойства при необходимости могут быть изменены. Например, конкретная база данных, резервное копирование которой должно быть осуществлено задачей «Резервное копирование базы данных», указывается после того, как эта задача добавлена в план. Задачи на поверхности конструктора, которые неправильно настроены, содержат красный значок с белым x.
Чтобы добавить в план задачу обслуживания, перетащите значок задачи из области элементов Задачи плана обслуживания в область конструктора планов, или дважды щелкните задачу в области элементов, чтобы добавить ее в активную область конструктора. Если панель элементов «Задачи плана обслуживания» не отображается, выберите панель элементов в меню представления SQL Server Management Studio. Откройте узел Задачи плана обслуживания на панели Область элементов .
Чтобы удалить задачу из плана, выберите задачу в области конструктора и нажмите клавишу DELETE или щелкните задачу правой кнопкой мыши и нажмите кнопку » Удалить«.
Чтобы указать связи приоритета между двумя задачами, сначала перетащите задачи в область конструктора, а затем выберите задачу, которая возникает сначала (задача прецедента) и перетащите стрелку в зависимые задачи. Когда ссылка очередности установлена, конструктор отображает стрелку, связывающую две задачи, причем приоритетная задача указывает на зависимую. Когда ссылка указывается впервые, по умолчанию ее ограничение устанавливается таким образом, что зависимая задача выполняется только в случае, если результатом выполнения приоритетной задачи будет Успешно.
Для изменения свойств ссылки очередности дважды щелкните ссылку, чтобы запустить Редактор ограничений очередностью. Это предоставляет множество параметров для указания логических условий, определяющих, выполняется ли зависимые задачи. Например, параметр Результат выполнения может быть установлен в значении Ошибка, и в этом случае зависимая задача выполняется только при неудачном выполнении приоритетной задачи. Изменить значение свойства ссылки, определяющего результат выполнения, на Успешно, Ошибкаили Завершениеможно, щелкнув правой кнопкой мыши ссылку и выбрав соответствующий пункт в контекстном меню.
Чтобы установить ветвление задач, сначала создайте ссылки очередности между двумя задачами. Затем поместите в область конструктора еще одну зависимую задачу, которая выполняется при условии, отличном от условия выполнения первой зависимой задачи. Выберите предшественую задачу и перетащите вторую стрелку из задачи прецедента в зависимый. Чтобы изменить результат выполнения (Успешно, Ошибкаили Завершение), вызывающий выполнение зависимой задачи, дважды щелкните ссылку со стрелкой и измените значение в поле Результат выполнения . Либо щелкните правой кнопкой мыши ссылку и выберите необходимый результат выполнения из контекстного меню.
Чтобы установить параллелизм задач, свяжите две или более зависимые задачи с одной и той же приоритетной задачей. Измените свойства ссылок приоритета таким образом, чтобы ссылки, указывающие на зависимые задачи, которые должны выполняться параллельно, имели одно и то же значение в полях результата выполнения.
Дополнительные функции, доступные в контекстном меню
Для просмотра дополнительных параметров выберите одну или более задач в область конструктора и щелкните правой кнопкой мыши, чтобы открыть контекстное меню. В дополнение к обычным пунктам Вырезать, Копировать, Вставить, Удалитьи Выбрать вседля некоторых задач становятся доступными следующие возможности.
- Добавить заметку Добавляет описательную заметку в область конструктора.
- Изменить Открывает диалоговое окно «Свойства задачи».
- Отключить Делает задачу временно недоступной.
- Включение Восстанавливает отключенную задачу.
- Групповое Создает группу, содержащую одну или несколько задач.
- Разгруппировать Удаляет задачи из группы.
- Автомасштабирование Устанавливает оптимальный размер для каждой задачи.
- Свернуть Скрывает задачи в пределах группы.
- Развертывание Показывает задачи в группе, которые ранее были скрыты с помощью пункта Свернуть.
- Масштабирование Изменяет размер задач в области конструктора
См. также
- Планы обслуживания
- Создание плана обслуживания
Библиотека ИТ
Мне понадобилось перенести десятки планов обслуживания с одного сервера на другой, и если у вас возникла такая же ситуация, ниже можно получить полную инструкцию.
Для начала нужно в management studio нужно подключиться к SSIS, при этом используется доменная аутентификация:
Далее раскрыть папку базы MSDB, где и находятся наши планы обслуживания:

При подключении можно получить ошибку не существующего SSIS на данном instance:
Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&LinkId=20476 Jump
——————————
ADDITIONAL INFORMATION:
The SQL Server instance specified in SSIS service configuration is not present or is not available.
This might occur when there is no default instance of SQL Server on the computer.
For more information, see the topic «Configuring the Integration Services Service» in SQL Server 2012 Books Online.
Login timeout expired
A network-related or instance-specific error has occurred while establishing a connection to SQL Server.
Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections.
For more information see SQL Server Books Online.
SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]. (MsDtsSrvr)
——————————
Login timeout expired
A network-related or instance-specific error has occurred while establishing a connection to SQL Server.
Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections.
For more information see SQL Server Books Online.
SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]. (Microsoft SQL Server Native Client 11.0)
В интернете полно ссылок на одни и те же решения, в файле C:\Program Files\Microsoft SQL Server\110\DTS\Binn\MsDtsSrvr.ini.xml не обходимо указать имя сервера и инстанса.
Но в моем случае это не помогло, может потому что используется кластер, при чем я указывал и имя сервера и имя кластера, а инстанс используется по умолчанию MSSQLSERVER.
Решение оказалось еще проще, в xml файле необходимо указать только имя кластера, без имени инстанса.
Далее на конкретном плане обслуживания нажимаем ПКМ и выбираем «Export package», в окне экспорта лучше выбрать «Package location — File System», почему? А потому что при выборе «SQL Server» не правильно переносится параметр «connection», и ваши планы просто не будут работать.

И поэтому же после экспорта в файл, в нем обязательно необходимо заменить все строчки, с указанием имени старого сервера на новое имя сервера.
Следующий шаг это импорт в SSIS нового сервера — производится аналогично. Подключаемся к SSIS, на папке MSDB жмем ПКМ и жмем «Import package», и выбираем «Package location — File System» и наш измененный файл. Теперь наш план появится в списке Мaintenance plans.
Важный момент — это указание пароля sa или пользователя из-под которого выполняются планы в connection manager. Открываем на редактирование план и вводим учетные данные, выбрав «Local server connection» (это коннект по умолчанию).

Остается только настроить расписание, т.к. этот параметр не переносится(
Настройка плана обслуживания БД¶
Нужно убедиться, что Агент SQL Server установлен и работает.
Для этого нужно:
- запустить оснастку Службы (Services)
- в списке служб найти службу Агент SQL сервер (SQL Server Agent)
- открыть свойства этой службы (кликнув по ней 2 раза) и убедиться что:
- Тип запуска = Автоматически (Startup type: Automatic)
- Состояние = Работает (Service status: Started)
В противном случае, необходимо изменить параметры и сохранить настройки.
Создание плана обслуживания БД¶
Для создания плана обслуживания необходимо запустить среду SQL Server Management Studio и авторизоваться.
В обозревателе объектов необходимо- раскрыть вкладку Управление (Management)
- кликнуть правой кнопкой мыши по вкладке Планы обслуживания (Maintenance Plans)
- в контекстном меню выбрать Мастер планов обслуживания (Maintenance Plan Wizard)
В запустившемся мастере планов обслуживания на странице приветствия нужно нажать Далее (Next) и в следующем окне ввести имя и описание нового плана.
Затем необходимо указать расписание, по которому будет выполняться данный план обслуживания.
Для этого нужно установить переключатель на Единое расписание для всего плана или без расписания (Single schedule for the entire plan ore no schedule) и нажать Изменить… (Change…) для настройки расписания.Далее нужно выбрать задачи, которые будет выполнять план обслуживания.
- Проверка целостности базы данных (Check Database Integrity)
- Сжатие базы данных (Shrink Database)
- Реорганизация индекса (Reorganize Index)
- Очистка журнала (Clean Up History)
- Резервное копирование базы данных (полное) (The Back Up Database (Transaction Log))
- Резервное копирование базы данных (журнал транзакций) (The Back Up Database (Full))
- Задача «Очистка после обслуживания» (Maintenance Cleanup Task)
После выбора задач необходимо нажать кнопку Далее (Next) и, используя кнопки Вверх (Move Up) и Вниз (Move Down), задать следующий порядок выполнения задач:
- Реорганизация индекса (Reorganize Index)
- Проверка целостности базы данных (Check Database Integrity)
- Резервное копирование базы данных (полное) (The Back Up Database (Transaction Log))
- Резервное копирование базы данных (журнал транзакций) (The Back Up Database (Full))
- Сжатие базы данных (Shrink Database)
- Очистка журнала (Clean Up History)
- Задача «Очистка после обслуживания» (Maintenance Cleanup Task)
Установив порядок выполнения задач, необходимо нажать кнопку Далее (Next) и перейти к настройкам параметров для каждой задачи в плане.
(!) ВНИМАНИЕ: Для того, чтобы в ходе выполнения плана обслуживания высвобождалось место на диске после создания бекапа БД и лога транзакций необходимо в настройках задачи Сжатие базы данных (Shrink Database) установить соответсвующий параметр.
После настройки всех задач плана обслуживания необходимо будет настроить формирование отчетности о выполнении планов и нажать кнопку завершения создания плана.
План обслуживания должен будет появиться в списке Планы обслуживания (Maintenance Plans).Запуск выполнения плана обслуживания¶
Для запуска выполнения плана обслуживания необходимо:
- открыть среду Microsoft SQL Server Management Studio и авторизоваться
- раскрыть вкладку Планы обслуживания (Maintenance Plans)
- кликнуть правой кнопкой мыши по выбранному плану обслуживания
- в открывшемся контекстном меню выбрать пункт Выполнить (Execute)
После чего запустится окно выполнения плана обслуживания, в котором, спустя необходимое количество времени, должно появиться сообщение об успешном выполнении.
В соответствующих директориях должны появиться файлы резервных копий и файл лога выполнения плана.Перенос планов обслуживания (maintenance plans) на другой сервер


Вы когда-нибудь задавались необходимость перенести встроенные планы обслуживания (maintenance plans) на другой сервер? Эта задача оказалась не тривиальной. Сегодня я бы хотел поделиться с вами относительно простым способом решения данной задачи.
Если вы вдруг не знаете что такое планы обслуживания (maintenance plans), то это ничто иное, как пакет SQL Server Integration Services (далее SSIS), который можно создать в рамках визуального интерфейса SQL Server Management Studio (SSMS). На скриншоте вы можете увидеть, что созданный мною план обслуживания на самом деле находится на SSIS:

Я создал план обслуживания (Test_Maint) на моём SQL Server и подключился к локальному SSIS. Обратите внимание, что если у вас установлен SQL Server с экземпляром не по-умолчанию, то вам необходимо отредактировать SSIS, чтобы он подключался к нужной msdb. Для этого необходимо найти файл MsDtsSrvr.ini, обычно он находится в папке «\Microsoft SQL Server\90\DTS\Binn. В нём необходимо поменять
. , на необходимый вам сервер\экземпляр. После сохранения изменений необходимо перезапустить службу SSIS.
Продолжим, как вы видите, SSIS пакеты хранятся в базе данных msdb (они могут храниться и на файловой системе, если подключить их к SSIS особым образом). Теперь нам необходимо перенести наш план обслуживания (Test_Maint) на другой сервер, для этого необходимо выделить план > нажать правую кнопку мышки > выбрать «экспорт пакета» > в новом окне необходимо указать сервер, на который будем переносить план обслуживания и куда необходимо поместить пакет на том сервере > после всех настроек необходимо нажать «Ок». Если после нажатия «Ок», вам не выдало ошибки, значит план обслуживания успешно перенесён.
Можно сделать перенос через файловую систему, для этого нам необходимо в окне переноса выбрать «Файловую систему» и указать путь сохранения:

Теперь на сервере назначения нам так же нужно подключиться к SSIS, скопировать выгруженный план обслуживания на новый сервер и подключить его через «импорт пакета»:


С наилучшими пожеланиями.
