笔记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 '要访问的数据库'