Будет ли задание SQL Server пропускать запланированный запуск, если он уже запущен? - PullRequest
56 голосов
/ 14 мая 2009

Если вы планируете запускать задание SQL Server каждые X минут, и оно не завершит предыдущий вызов до истечения количества # минут, пропустит ли запуск, поскольку оно уже выполняется, или выполнит две экземпляры работы делают те же шаги?

Ответы [ 3 ]

74 голосов
/ 14 мая 2009

Агент SQL Server проверяет, выполняется ли уже задание, перед началом новой итерации. Если у вас есть долго выполняемое задание, и его расписание подходит, оно будет пропущено до следующего интервала.

Вы можете попробовать это сами. Если вы попытаетесь запустить уже запущенное задание, вы получите сообщение об этом.

3 голосов
/ 14 мая 2009

Я уверен, что он пропустит его, если он работает.

2 голосов
/ 14 мая 2009

Какую версию SQL Server вы используете? Кажется, это довольно легко проверить. Настройте задание, указав в нем WAITFOR, который вставит одну строку в таблицу и настроит задание на выполнение дважды в быстрой последовательности (короче, чем ЗАДЕРЖКА WAITFOR).

При запуске такого теста в SQL Server 2005 он пропускал перекрывающийся прогон.

...