График работы между днями - PullRequest
       48

График работы между днями

0 голосов
/ 13 октября 2018

Как запланировать пакет служб SSIS с 10-го по 17-е число каждого месяца с помощью задания агента SQL Server?

В период с 10-го по 17-е задание должно запускаться каждые 30 минут.

Запрос:

SELECT 
    CASE 
       WHEN DATEPART(DD, GETDATE()) BETWEEN 10 AND 17 
          THEN 1 
          ELSE 0
    END DAYSFLAG

Я не представляю, как настроить задание на запуск только с 10 по 17 числа каждого месяца и каждые 30 минут?

Скажите, пожалуйста, как этого добиться?задача в задании агента SQL Server.

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

, чтобы выполнить то, что вы хотите, выполните то, что предложил andrea, и создайте шаг 1 как Transact SQL, который выдает ошибку, если день не находится между 10 и 17. Затем перейдите на вкладку «Дополнительно» и в разделе «При сбое» выберите «Выйти».отчет об успешном выполнении задания ", который прервет задание как успех только на этом этапе.

0 голосов
/ 13 октября 2018

Вы можете запланировать ежедневное выполнение вашей работы каждые 30 минут, а затем, в начале своей работы, вы можете добавить скрипт Transact-SQL (T-SQL) , который проверяет, является ли текущий деньмежду 10 и 17.

  • , если текущий день находится между 10 и 17, задание будет продолжено
  • , если текущий день не между 10 и 17, задание будет прекращено.Чтобы завершить выполнение сценария, вы можете вызвать ошибку, если условие в календарный день не выполнено

Для выполнения этой проверки вы можете использовать что-то вроде этого:

if DATEPART(DD, GETDATE()) not BETWEEN 10 AND 17 
    RAISERROR ('Current day is not between 10 and 17, the job must not run', 16, 1)
...