Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Старт выполнения программы после завершения Mainenanсe Plan  [new]
Alexey30
Member

Откуда:
Сообщений: 163
Приветствую.

Подскажите, пожалуйста, как лучше реализовать...
Каждую ночь на сервере происходит бэкап всех баз (с помощью отдельного Maintenance Plan), после чего их все необходимо упаковать в один шифрованный архив, который затем скачивается с сервера в надежное место.

Вопрос в том, как определить момент, когда завершится бэкап всех баз? Иногда бэкап длится час, а иногда и четыре часа. От чего зависит, правда, так и не смог понять.

На данный момент архиватор запускается через три часа после старта бэкапа (с помощью виндового шедулера). В большинстве случаев это устраивает, но, как я говорил ранее, иногда бэкап занимает больше времени и тогда с архивом происходит проблема.

Нашел вариант старта архиватора по триггеру Event'a из EventLog'a. В частности можно, например, отлавливать событие 12289 (Package "" finished successfully), которое происходит по завершению любого пакета. Но как тогда отфильтровать именно название нужного пакета? Чтобы архиватор не запускался после окончания каждого пакета...

Возможно есть какие-либо иные нормальные варианты...

Спасибо!
27 ноя 12, 16:41    [13537964]     Ответить | Цитировать Сообщить модератору
 Re: Старт выполнения программы после завершения Mainenanсe Plan  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Ну, напишите свой бэкапер да и все. Первым шагом джоба его, вторым - ваш архиватор.
27 ноя 12, 16:44    [13537988]     Ответить | Цитировать Сообщить модератору
 Re: Старт выполнения программы после завершения Mainenanсe Plan  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Alexey30,

в Maintenance Plan добавить
Execute SQL Server Agent Job (Выполнить задание SQL Server Agent)
11614563
так можно и ваш архиватор запукать.
27 ноя 12, 16:48    [13538029]     Ответить | Цитировать Сообщить модератору
 Re: Старт выполнения программы после завершения Mainenanсe Plan  [new]
Glory
Member

Откуда:
Сообщений: 104751
Alexey30
Вопрос в том, как определить момент, когда завершится бэкап всех баз? Иногда бэкап длится час, а иногда и четыре часа. От чего зависит, правда, так и не смог понять.

Maintenance Plan запускается в джобе.
Ничего не мешает добавить туда еще один шаг.
27 ноя 12, 16:49    [13538032]     Ответить | Цитировать Сообщить модератору
 Re: Старт выполнения программы после завершения Mainenanсe Plan  [new]
Alexey30
Member

Откуда:
Сообщений: 163
Точно, в Maintenance Plan'e cmd_Shell я не увидел, а в джобе не додумался посмотреть.
Большое спасибо!
27 ноя 12, 17:03    [13538142]     Ответить | Цитировать Сообщить модератору
 Re: Старт выполнения программы после завершения Mainenanсe Plan  [new]
Alexey30
Member

Откуда:
Сообщений: 163
Приветствую!
Всех с Наступающим НГ.

К сожалению, возникла проблема с предложенным Glory вариантом. Возможно, кому-то будет интересно решение.
Glory
Maintenance Plan запускается в джобе.
Ничего не мешает добавить туда еще один шаг.


Через некоторое время я обнаружил, что второго шага на запуск приложения нет (он отсутствует в JOB'e).
Долго думал, в чем может быть проблема, уже возникли мысли, что проблемы с безопасностью и кто-то просто удалил этот шаг.
Как оказалось - все проще. В Maintenance Plan вносились небольшие изменения, после чего он пересоздал джоб и оставил в нем только один, первый шаг, на запуск плана.

Решение оказалось простым, как предлагал trew:
Создаем отдельный Job с единственным шагом - запуск архиватора и добавляем вызов этого Job'a последним шагом в Maintenance Plan.
28 дек 12, 13:47    [13700499]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить