如何在SQL Server 2012中自动终止或终止暂停任务?

问题描述:

我们如何在SQL Server 2012中自动终止或终止暂停的任务?当我运行sp_who2时,它显示了Suspended状态中的许多进程。如何在SQL Server 2012中自动终止或终止暂停任务?

我想知道有什么方法可以自动终止或终止暂停的进程/任务,而不是手动执行。

我知道如何手动杀死SPID,但我想要一些可以在定义的时间后自动杀死这些任务的东西。

任何帮助将不胜感激。

+0

暂停是有效状态。如果你得到很多暂停,你应该找出它为什么发生而不是杀死它们! –

要做到这一点,你应该:

  1. 查询一个特殊的DMV获得处于暂停状态psids所:

    SELECT * FROM WHERE sys.dm_exec_requests视图状态= '暂停'

  2. 使用例如光标放在那个结果集上,一个接一个地杀掉它们

  3. 把那个脚本放到数据库作业中;计划作业运行规律

但是,如果你这样做,你应该记住,暂停查询可以启动资源时,他试图使用被释放的时候/解锁再次运行。如果该查询在例如存储过程在没有事务的情况下修改数据,那么通过中断这样的过程,您的kill-automatization可能会非常糟糕。

+0

如何“使用该结果集上的光标来逐个杀死它们”? –