笔记113 当很多连接到你的数据库时,报这种错误“已超过了锁请求超时时段” 直接把下在面的存储过程 放到你的Master数据库执行一下就可以了

笔记113 当很多连接到你的数据库时,报这种错误“已超过了锁请求超时时段” 直接把下在面的存储过程 放到你的Master数据库执行一下就可以了

 1 --当很多连接到你的数据库时,报这种错误“已超过了锁请求超时时段”
 2 --直接把下在面的存储过程 放到你的Master数据库执行一下就可以了
 3 USE pratice
 4 SET ANSI_NULLS ON
 5 SET QUOTED_IDENTIFIER ON
 6 go
 7 
 8 ALTER PROC [dbo].[Sp_KillAllProcessInDB] @DbName VARCHAR(100)
 9 AS
10     IF DB_ID(@DbName) = NULL
11         BEGIN
12             PRINT 'DataBase dose not Exist'
13         END
14     ELSE
15         BEGIN
16             DECLARE @killspId VARCHAR(30)
17             DECLARE TmpCursor CURSOR
18             FOR
19                 SELECT  'Kill ' + CONVERT(VARCHAR, spid) AS spId
20                 FROM    master..SysProcesses
21                 WHERE   DB_NAME(dbid) = @DbName
22                         AND spid <> @@spid      --终止不是当前进程的进程(不等于当前进程)
23                         AND dbid <> 0           --数据库ID不是0
24             OPEN TmpCursor
25             FETCH NEXT FROM TmpCursor
26 
27 INTO @killspId      --select into  @killspId
28             WHILE @@FETCH_STATUS = 0
29                 BEGIN
30                     EXEC (@killspId)
31                     FETCH NEXT FROM TmpCursor
32 INTO @killspId
33 
34                 END
35 
36             CLOSE TmpCursor
37             DEALLOCATE TmpCursor
38         END
39        
40        
41 --exec Sp_KillAllProcessInDB '要访问的数据库'

 

posted @ 2013-08-03 22:33  桦仔  阅读(4140)  评论(1编辑  收藏  举报