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

Откуда:
Сообщений: 261
В RS создана подписка (рассылка отчета на разные e-mail), которая стартует ежедневно. То бишь при создании подписки был автоматом создан джоб.
Есть необходимость производить рассылку только в рабочие дни. Таблица с календарём рабочих дней есть.
Предполагал вставить первым шагом в сгенерённый джоб проверку является ли текущий день рабочим и в зависимости от результата передавать или нет управление на шаг с подпиской. Собственно, вопрос в том, как это сделать правильно.
Как-то генерить ошибку на шаге и сразу заканчивать задание с успехом? Как тогда сгенерить ошибку?
4 апр 12, 10:24    [12362195]     Ответить | Цитировать Сообщить модератору
 Re: выполнение джоба только в рабочие дни MS SQL 2005  [new]
Rem
Member

Откуда:
Сообщений: 261
Как-то самый простой вариант с raiserorr в голову сразу не пришёл.
4 апр 12, 10:30    [12362254]     Ответить | Цитировать Сообщить модератору
 Re: выполнение джоба только в рабочие дни MS SQL 2005  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
а расписание запуска джоба только в рабочие дни чем не подходит?
4 апр 12, 10:44    [12362381]     Ответить | Цитировать Сообщить модератору
 Re: выполнение джоба только в рабочие дни MS SQL 2005  [new]
Rem
Member

Откуда:
Сообщений: 261
Slava_Nik
а расписание запуска джоба только в рабочие дни чем не подходит?


А откуда сервер знает про производственный календарь?
Всё хорошо, пока нет переносов рабочих дней.
4 апр 12, 10:47    [12362408]     Ответить | Цитировать Сообщить модератору
 Re: выполнение джоба только в рабочие дни MS SQL 2005  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
Rem
Slava_Nik
а расписание запуска джоба только в рабочие дни чем не подходит?


А откуда сервер знает про производственный календарь?
Всё хорошо, пока нет переносов рабочих дней.

все понял.
а чем условие на выполнение if () не подходит? , запихнете его в сам шаг с подпиской и все.
А зачем вам ошибка, если джоб не выполняется в выходной?
4 апр 12, 11:00    [12362522]     Ответить | Цитировать Сообщить модератору
 Re: выполнение джоба только в рабочие дни MS SQL 2005  [new]
Rem
Member

Откуда:
Сообщений: 261
Slava_Nik
Rem
пропущено...


А откуда сервер знает про производственный календарь?
Всё хорошо, пока нет переносов рабочих дней.

все понял.
а чем условие на выполнение if () не подходит? , запихнете его в сам шаг с подпиской и все.
А зачем вам ошибка, если джоб не выполняется в выходной?


Да как-то не хотелось трогать этот шаг.
4 апр 12, 11:12    [12362643]     Ответить | Цитировать Сообщить модератору
 Re: выполнение джоба только в рабочие дни MS SQL 2005  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
Rem
Slava_Nik
пропущено...

все понял.
а чем условие на выполнение if () не подходит? , запихнете его в сам шаг с подпиской и все.
А зачем вам ошибка, если джоб не выполняется в выходной?


Да как-то не хотелось трогать этот шаг.

есть еще другие извращения:
как вы предложили , добавить шаг, в шаге прописать какую нить команду с проверкой даты. которая всегда будет с ошибкой и , если чсегодня дата незаупска, то ошибочная команда, условие перехода- при ошибки выход из джоба.
еще вариант , основной джоб без расписания, создать новый джоб,который будет проверять дату и запускать основной джоб, короче есть варианты извращаться :)
4 апр 12, 11:18    [12362691]     Ответить | Цитировать Сообщить модератору
 Re: выполнение джоба только в рабочие дни MS SQL 2005  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
А что если перед этим шагом сделать проверку и если день рабочий, шаг выполняется, а в условии успешного выполнения, переходим на следующий.
Если день не рабочий, то шаг валится с ошибкой, а в условии ставим в случае ошибка завершать джоб успешно ?
4 апр 12, 11:25    [12362753]     Ответить | Цитировать Сообщить модератору
 Re: выполнение джоба только в рабочие дни MS SQL 2005  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
Ozerov,

я это ему и предлагаю, короче вариантов много, и проблем в этом не вижу.
4 апр 12, 11:34    [12362817]     Ответить | Цитировать Сообщить модератору
 Re: выполнение джоба только в рабочие дни MS SQL 2005  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Slava_Nik
Ozerov,

я это ему и предлагаю, короче вариантов много, и проблем в этом не вижу.

А, ну да. Начал писать, отвлекся, позже продолжил.. :)
4 апр 12, 11:36    [12362830]     Ответить | Цитировать Сообщить модератору
 Re: выполнение джоба только в рабочие дни MS SQL 2005  [new]
Rem
Member

Откуда:
Сообщений: 261
Ozerov
А что если перед этим шагом сделать проверку и если день рабочий, шаг выполняется, а в условии успешного выполнения, переходим на следующий.
Если день не рабочий, то шаг валится с ошибкой, а в условии ставим в случае ошибка завершать джоб успешно ?


Так я данный вариант и расписал в первом сообщении.
Плохо только, что, если будет какая-то реальная ошибка, то шаг всё равно закончит весь джоб, как успешный.
4 апр 12, 11:37    [12362838]     Ответить | Цитировать Сообщить модератору
 Re: выполнение джоба только в рабочие дни MS SQL 2005  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Rem
Ozerov
А что если перед этим шагом сделать проверку и если день рабочий, шаг выполняется, а в условии успешного выполнения, переходим на следующий.
Если день не рабочий, то шаг валится с ошибкой, а в условии ставим в случае ошибка завершать джоб успешно ?


Так я данный вариант и расписал в первом сообщении.
Плохо только, что, если будет какая-то реальная ошибка, то шаг всё равно закончит весь джоб, как успешный.

ошибка в проверке дня ?.
Ну ставить метку в третьем шаге о выолнении второго куда нить в табличку, а вторым джобом проверять есть ли метка. если день рабочий....
4 апр 12, 11:40    [12362868]     Ответить | Цитировать Сообщить модератору
 Re: выполнение джоба только в рабочие дни MS SQL 2005  [new]
Anti_Hacker
Member

Откуда: Латвия, Рига
Сообщений: 287
Я бы вам посоветовал не мучаться, и сделать джоб, который каждый день, проверял, если рабочий день или нет, и соответственно, включал или выключал джобы RS.
4 апр 12, 16:28    [12365515]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить