所以,我有一个proc本质上是一个动态查询生成器......根据用户设置的查询的复杂性,我可能会在查询可能需要20多分钟才能执行的情况下结束。
所以,在这个问题上加上我已经做过的一些事情来避免这些建议:
我的网站上的超时当前设置得非常高(8分钟)以适应这种情况,但我想要做的就是将对此proc的长时间运行调用发送到队列以在应用程序外运行。
我想知道的是,如果在调用存储过程或更具体的动态sql时,是否有办法获取为查询创建的spid的句柄?就像,我想,在SQL Server管理工作室中,停止按钮本质上是利用类似于此的功能来杀死当前正在运行的查询...我能够在较低的超时时间中止查询然后拥有它独立运行(甚至可能在不同的服务器上),只需通过电子邮件发送结果或其他内容......任何帮助都将不胜感激!
答案 0 :(得分:3)
您可以使用 @@ spid
获取当前正在运行的spid这是msdn链接http://msdn.microsoft.com/en-us/library/ms189535.aspx