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

Откуда:
Сообщений: 1522
Есть SSIS пакет, нужно выполнять его каждый каждый час при условии что сам джоб должен запускаться только между двумя датами (условно между 20м и 25м числами, т.е. работать пять дней в месяц, каждый час)

Как это можно реализовать не используя проверки GETDATE() в самом SSIS?
24 окт 16, 18:08    [19817157]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать расписание для джоба между двумя датами?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5118
Santa89
Как это можно реализовать не используя проверки GETDATE() в самом SSIS?
стандартный шедулер джоба не имеет такой возможности. либо писать свой шедулер, либо делать в пакете.
чем вызвано желание изобретать велосипеды?
24 окт 16, 18:23    [19817200]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать расписание для джоба между двумя датами?  [new]
Santa89
Member

Откуда:
Сообщений: 1522
Дедушка,

вызвано тем, что у бизнес-пользователей в эти числа проходят ряд совещаний, при этом на этих совещаниях нужно отображать данные которые меняются в течении дня несколько раз, таким образом пакет должен обновлятся каждый час в эти дни совещаний.
в остальные дни частота обновления данных не критична
24 окт 16, 18:29    [19817231]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать расписание для джоба между двумя датами?  [new]
komrad
Member

Откуда:
Сообщений: 5741
Santa89
Есть SSIS пакет, нужно выполнять его каждый каждый час при условии что сам джоб должен запускаться только между двумя датами (условно между 20м и 25м числами, т.е. работать пять дней в месяц, каждый час)

Как это можно реализовать не используя проверки GETDATE() в самом SSIS?

вечерняя идея, :
блокировать пользователя, под которым подключается пакет, и пускать его только в нужное время
24 окт 16, 18:41    [19817274]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать расписание для джоба между двумя датами?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5118
Santa89,
как вариант:
джоб который будет раз в сутки проверять число месяца (запускаясь в 00:00) и если оно в вашем диапазоне энейблить джоб стартующий пакет с шедулером на каждый час (как только число месяца вышло из диапазона дизейблить джоб с пакетом)
24 окт 16, 18:57    [19817318]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать расписание для джоба между двумя датами?  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Santa89,

Сделать в джобе еще один tsql шаг, поставить его первым и в нем проверять нужное условие, если условие выполняется, завершать шаг успешно, если условие не выполняется завершать шаг raiseerror`м с последующим завершением всего джоба.
24 окт 16, 18:59    [19817320]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать расписание для джоба между двумя датами?  [new]
Santa89
Member

Откуда:
Сообщений: 1522
WarAnt,

да, нормально. а без raiseerror'а никак? это ведь не ошибка будет, а просто не тот день недели...
24 окт 16, 19:04    [19817331]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать расписание для джоба между двумя датами?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5118
Santa89
а без raiseerror'а никак
использовать "go to step" в настройках шага джоба
если саксесс то шаг с пакетом, если ошибка то пустой шаг (последним)
24 окт 16, 19:28    [19817382]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать расписание для джоба между двумя датами?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5118
только это не очень "наглядно" и могут быть трудности с сопровождением
24 окт 16, 19:30    [19817388]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать расписание для джоба между двумя датами?  [new]
Santa89
Member

Откуда:
Сообщений: 1522
Дедушка,

согласен, мне ваш вариант больше подходит. тем более никакого доп.джоба создавать ненужно, ведь у нас уже есть основной который работает по ночам, как раз в 0.00, вот в нем как раз и можно энэйблить дополнительный почасовой джоб
24 окт 16, 19:40    [19817416]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать расписание для джоба между двумя датами?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8815
Santa89,

5 расписаний, элементарно.
25 окт 16, 10:10    [19818574]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать расписание для джоба между двумя датами?  [new]
Santa89
Member

Откуда:
Сообщений: 1522
Владислав Колосов,

++++
(и как я сразу не догадался)
25 окт 16, 10:21    [19818621]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить