2013-03-02 65 views
1

我是一名SQL Server新手,并且我得到了一个小任务,我无法包住我的头。我必须验证,如果我杀死了当前正在执行的sql server作业的查询,作业将无限期地继续运行,否则将失败。创建一个运行长时间运行的SQL查询的小作业很容易完成,但我无法知道如何确定当前正在运行哪个任务并杀死它。我使用这个参考 http://blog.sqlauthority.com/2009/01/07/sql-server-find-currently-running-query-t-sql/ 但它并没有显示我当前正在执行的查询。如何杀死当前正在执行的SQL Server 2008r2作业查询

对不起,如果这是一个非常愚蠢的问题,但任何帮助赞赏!

谢谢

回答

1

右键单击服务器名称并选择“活动单例”。

或者,你可以查询与该进程列表:

select * from sys.dm_exec_requests 

一个更好的解决方案是从亚当Machanic sp_WhoIsActive,但可能是矫枉过正您的具体情况。

+0

好的。这是我在做什么,在一个窗口中运行此SQL语句 SELECT * FROM emp_detail 走300 和执行这个之后,我迅速切换到另一个选项卡,并执行SELECT * FROM sys.dm_exec_requests视图 但是没有迹象表明当前正在运行的查询在前一个选项卡中。我究竟做错了什么?不应该有一个条目在前面的标签中运行的查询? – Sparky 2013-03-02 13:56:34

+0

应该是,除非你正在300个'go 300'执行之一之间进行查询。尝试'waitfor delay'2:00''查询确实正在运行。 – Andomar 2013-03-02 14:15:28

+0

Thanx!那就是诀窍 – Sparky 2013-03-03 11:32:15

相关问题