#sql-server-2016 #jobs #sql-agent-job
#sql-server-2016 #Вакансии #sql-agent-job
Вопрос:
Я использую SQL Server 2017. Мне нужно запланировать выполнение задания на 12 часов утра и 12 часов дня для каждого дня с 7 по 27 число каждого месяца. Другими словами, мне нужно запускать свою работу два раза в день между двумя датами в каждом месяце.
Могу ли я сделать это в одной задаче расписания или мне нужно создавать два задания для каждого конкретного дня?
и так далее, и так далее.
Если мне нужно создавать задание для каждого наведения на каждый день, у меня будет несколько расписаний.
Обновление 1: я сделал это, создав несколько шагов на вкладке расписание, но я хочу сделать это за меньшее количество шагов.
Обновление 2: Если я смогу выполнить два шага, как показано ниже, это будет полезно для меня.
1: Происходит каждый месяц между 7 и 27 в 12 часов ночи
2: Происходит каждый месяц между 7 и 27 в 12 часов
Ответ №1:
Один из способов сделать это — проверить, находится ли дата между 7-м и 27-м, используя DATENAME
или DATEPART
.
--IF (DATENAME(DAY, GETDATE()) >= 7 AND DATENAME(DAY, GETDATE()) <= 27)
IF DATEPART(DD, GETDATE()) BETWEEN 7 AND 27
BEGIN
EXEC [Your Stored Procedure]
END
А затем установите ежедневную частоту, чтобы она начиналась в 12:00 и выполнялась каждые 12 часов.