等待存储过程执行,直到SQL Server中的上一次执行完成

时间:2016-06-09 12:44:55

标签: c# asp.net sql-server stored-procedures

我需要每30秒执行一次存储过程。我在Application_Start(object sender, EventArgs e)中注册一个方法,每30秒运行一次。此存储过程需要很长时间才能执行。问题是先前的执行是否完成,下一次迭代是否再次尝试执行sp。这导致一些超时问题。

在sql server中执行下一次迭代之前,有没有办法等待上一次执行完成?

1 个答案:

答案 0 :(得分:2)

我通常在这种场合使用Sql Agent。它会自动完成你想做的事。

如果那不是一个选项,你可以使用信号量标志。 SP所做的第一件事就是检查一个表/字段是否正在进行中。如果它为0则SP更新为1,如果它已经为1,则SP退出。在SP结束时,它将被设置回0。