#sql-server #sql-server-2008 #sql-server-2012
#sql-server #sql-server-2008 #sql-server-2012
Вопрос:
У меня запланировано задание в агенте sql server, которое выполняется каждую минуту.
Я подумываю о «приостановке» задания в 2,3 раза каждый час (например, пауза в 4: 02, 4: 03), а затем снова запустить его.
Могу ли я сделать это автоматически в агенте sql server?
Комментарии:
1. Лучше проверяйте время в своем запланированном задании / скрипте и ничего не делайте в «критические моменты». Таким образом, вам вообще не нужно приостанавливать работу sql scheduler.
Ответ №1:
Вы можете запускать и останавливать агент sql Server с помощью командной строки.
например, для запуска агента SQL Server используйте следующую команду
net start "SQL Server Agent (MSSQLSERVER)"
Также вы можете выполнить команду dos с sql Server с помощью xp_cmdshell
command :
Вы можете использовать следующую команду для запуска или остановки агента SQL Server из SSMS:
Exec xp_cmdshell 'net start "SQL Server Agent (MSSQLSERVER)"'
Exec xp_cmdshell 'net stop "SQL Server Agent (MSSQLSERVER)"'
У вас может быть задание sql Server или расписание задач Windows, чтобы автоматически останавливать Agent в вашем расписании. и иметь расписание задач Windows, чтобы автоматически запускать Agent.
Комментарии:
1. Спасибо, но как я мог бы автоматизировать этот процесс?
2. Попросите задание, выполняемое планировщиком, проверить время, а затем условно вызвать указанный скрипт.