已超过了锁请求超时时段” 直接把下在面的存储过程 放到你的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 '要访问的数据库'