SQL Server查询正在执行的存储过程并停止
(2018-02-07 10:46:17)
标签:
sql正在执行的存储过sqlsql正在执行的语句 |
分类: 数据库技术(SQL2000/2005) |
参考:http://www.2cto.com/database/201307/227503.html
1 --查询正在执行的sql并停止 2 IF (EXISTS (SELECT * FROM sys.objects WHERE name = 'PRO_QUERY_KILL_EXECUTING_PRO')) 3 DROP PROC [dbo].[PRO_QUERY_KILL_EXECUTING_PRO] 4 GO 5 6 CREATE PROC [dbo].[PRO_QUERY_KILL_EXECUTING_PRO] 7 AS 8 17 BEGIN 18 -- Do not lock anything, and do not get held up by any locks. 19 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 20 21 22 -- What SQL Statements Are Currently Running? 23 24 25 --declare @querySql varchar(2000) = 'SELECT [Spid] = session_Id 26 --, ecid 27 --, [Database] = DB_NAME(sp.dbid) 28 --, [User] = nt_username 29 --, [Status] = er.status 30 --, [Wait] = wait_type 31 --, [Individual Query] = SUBSTRING (qt.text, 32 --er.statement_start_offset/2, 33 --(CASE WHEN er.statement_end_offset = -1 34 --THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2 35 --ELSE er.statement_end_offset END - 36 --er.statement_start_offset)/2) 37 --,[Parent Query] = qt.text 38 --, Program = program_name 39 --, Hostname 40 --, nt_domain 41 --, start_time 42 --FROM sys.dm_exec_requests er 43 --INNER JOIN sys.sysprocesses sp ON er.session_id = sp.spid 44 --CROSS APPLY sys.dm_exec_sql_text(er.sql_handle)as qt 45 --WHERE session_Id > 50 -- Ignore system spids. 46 --AND session_Id NOT IN (@@SPID) -- Ignore this current statement. 47 --ORDER BY 1, 2' 48 49 declare icursor cursor for SELECT [Spid] = session_Id 50 FROM sys.dm_exec_requests er 51 INNER JOIN sys.sysprocesses sp ON er.session_id = sp.spid 52 CROSS APPLY sys.dm_exec_sql_text(er.sql_handle)as qt 53 WHERE session_Id > 50 -- Ignore system spids. 54 AND session_Id NOT IN (@@SPID) -- Ignore this current statement. 55 56 open icursor; 57 declare @spid VARCHAR(10) 58 while 1=1 59 begin 60 fetch next from icursor into @spid 61 IF(@spid IS NOT NULL AND LEN(@spid) <> 0) 62 begin 63 exec ('kill ' + @spid) 64 end 65 IF @@FETCH_STATUS != 0 BREAK; 66 end 67 close icursor 68 deallocate icursor 69 70 END 71 GO 72 73 exec PRO_QUERY_KILL_EXECUTING_PRO
前一篇:C# 序列化XML方法和常用特性