Настроить выполнение регламентных процедур на SQL можно буквально за 10-15 минут. Никаких скриптов писать не нужно, достаточно тех команд, которые нам рекомендует делать 1С. Это очистка процедурного кэша (DBCC FREEPROCCACHE ), реиндексация (sp_msforeachtable N'DBCC DBREINDEX (''?'')') и обновление статистики (exec sp_msforeachtable N'UPDATE STATISTICS ? WITH FULLSCAN').
Все эти команды будет выполнять SQL Server Agent, так, что позаботьтесь, о том, что бы он запускался автоматически (у меня по умолчанию он не запускался).
Открываем SQL Server Management Studio, конектимся к серверу.
Разворачиваем дерево в Object Explorer.
Выбираем вкладку Jobs и выбираем пункт "новое задание"
Открывается окошко нового задания.
На вкладке General->Name задаем имя нашего задания.
Далее переходим на вкладку "Шаги"
Шаги, это последовательность действий, которая будет выполнятся в нужном вам порядке, с нужными вам повторениями, в нужное вам время, вообщем все для нас любимых .
Создаем "новый шаг"
Во вкладке General в поле Step Name задаем ему имя. В поле Type оставляем T-SQL. Выбираем базу (хотя, очистка кэша не привязано к конкретной базе, я все же выбрал, на будущее). В поле "command" пишем свою команду.
Переходим на вкладку Advanced
Тут уже определяются количество попыток повторения задания (Retry attemps) через интервал времени (Retry interval). Так же, тут можно определить действия, которые будут выполняться в случае успеха (On success action) и неуспеха (On failure action) выполнения данного шага. У меня выставлен переход к следующему шагу, в обоих случаях. У меня стоит последовательно три шага (три регл задания), которые рекомендует 1С. Это очистка процедурного кэша (DBCC FREEPROCCACHE ), реиндексация (sp_msforeachtable N'DBCC DBREINDEX (''?'')') и обновление статистики (exec sp_msforeachtable N'UPDATE STATISTICS ? WITH FULLSCAN').
После определения шагов и вариантов их выполнения, перейдем на интересную вкладку Schedules (расписание). Где вы можете придумать любое расписание, которое вам угодно.
Итак, создаем расписание "New".
Открывается окошко нового расписания.
Задаем ему Имя.
В "Schedule type" выберем тип расписания "Recurring" повторяющееся. (есть еще и другие типы, на вкус и цвет).
Далее выбираем частоту повторения "Daily" дни и выбираем, через сколько дней запускать эти шаги (1 день). Далее ставим время запуска заданий (время, когда нагрузка на базу минимальна).
Жмем ОК.
И теперь определенные нами задания будут выполняться в то время, в той последовательности, которое нам нужно.
Проверить работу заданий можно, просмотрев историю.
Это базовое. Описание настройки регламентных заданий, которые описывает совсем небольшую часть (буквально песчинки) возможностей автоматизирования базы данных. Эти задания можно настраивать так, что бы SQL после их успешного или не успешного выполнения посылал вам письмо на почту или звонил на пейджер и докладывал обстановку.
P.S Прошу комментировать и критиковать статью и варианты настройки выполнения заданий. В споре рождается истина
Приветствую советы и дополнения по улучшению работы заданий.