我现在正在运行一个存储过程,可能需要12个小时才能完成,但确切的实际时间是未知的。我有另一个存储过程,我需要在当前运行的一个完成后运行。是否有可能在SQL Server中安排一次运行,例如, "在dbo.storedProcedureName完成执行"?
之后昨天我在SQL Server Agent中尝试了名为&#34的计划选项;每当CPU空闲时启动"但这没用。
答案 0 :(得分:0)
这可以通过一些加载项或循环监视运行进程来实现,但它并不是最好的方法。相反,您应该设置一个SQL脚本来按顺序运行这两个,例如:
EXEC dbo.MyLongRunningProc;
EXEC dbo.MyOtherProc;
当从SSMS或类似工具内部运行时,这些保证按顺序运行,一个接一个地运行。
答案 1 :(得分:0)
您可以创建并执行(或安排)同时运行
的过程create procedure runBothInOrder
as
begin tran
exec procedure1
exec procedure2
commit