我有一个作为存储过程创建的脚本。该脚本是一个无限循环,没有任何东西可以让它无限期地等待。
WHILE 1=1
BEGIN
--Irrelevant code: Multiple record reads and writes
WAITFOR DELAY '00:00:10:000' --wait for 10 seconds before continuing.
END
我创建了一个启动过程的 SQL Server 代理作业,但是当我启动 SQL 作业时,如果不重新启动 SQL Server 代理或使过程崩溃,就不可能停止它。它不响应任何停止请求。
我能看到的唯一解决方案是修改WHILE 1=1
to WHILE [value from table]=1
,但这不是一个优雅的解决方案,并且仍然无法使用 SQL 代理停止工作。
我想知道的是:
是否可以以某种方式更改过程以使其可由服务器代理停止,但不删除循环(循环之外有变量,我不希望将它们转移到表中)?