【发布时间】:2012-06-29 10:16:54
【问题描述】:
我有一个必须不断运行的存储过程。有时,由于目前未知的原因,它会停止。如果发生这种情况,我怎样才能让它自动重启 SP? Google 搜索并没有多大帮助,因为所有结果都是关于重新启动服务器,而不是存储过程。感谢您提供的任何帮助。
这是一个 SQLCLR 存储过程,如果这有什么不同的话。
【问题讨论】:
-
你的意思是一个存储过程,一旦它开始,就永远不会结束——它只是不停地跑掉,还是一个重复运行的过程,一旦一个运行停止,它就会在一个无限循环中重新启动?因为存储过程从来都不是长时间运行的进程,这就是它的读取方式。
-
不断运行是什么意思?它永远不会终止?如果它永远不会停止并不断累积导致死锁的锁,则服务器可能会决定杀死它以解决死锁
-
@DavidStratton 如果存储过程不打算长时间运行,还有其他方法可以让 SQLCLR 程序集持续运行吗?这就是 SP 所做的一切,它调用程序集
-
@PanagiotisKanavos 我很确定它不会累积任何锁,所以我认为这不是问题。
-
编写应用程序或服务来调用程序集。我什至不会想到您的解决方案,不确定我是否会考虑实施它。 PS你知道它为什么会停止吗?
标签: sql-server sql-server-2008 stored-procedures sqlclr clrstoredprocedure