热门标签:
清除某个数据库的所有数据库连接的存储过程
浏览量:
作者:佚名
来源:互联网
在我们利用代码还原或者删除数据库的时候,经常碰到因为还存在数据库连接而拒绝操作的情况,我为此特意写了一个存储过程用来清除某个数据库的所有数据库链接。
代码如下:
- CREATE PROC L_spClearDbConnections
- @DbName VARCHAR(30)
- AS
- --清除某个数据库的所有数据库连接
- --RickyLin 2007-11-1
- DECLARE @SPID INT
- DECLARE @SqlForClear NVARCHAR(100)
- DECLARE curID CURSOR FORWARD_ONLY READ_ONLY FOR (
- SELECT SPID
- FROM Master.dbo.SysProcesses
- WHERE DB_Name(DBID) = @DbName)
- OPEN curID
- FETCH NEXT FROM curID INTO @SPID
- WHILE @@Fetch_Status = 0
- BEGIN
- SET @SqlForClear = N'KILL ' + Cast(@SPID AS NVARCHAR(10))
- EXEC sp_ExecuteSql @SqlForClear
- IF @@Error = 0
- PRINT '已清除连接:' + Cast(@SPID AS VARCHAR(10))
- FETCH NEXT FROM curID INTO @SPID
- END
- CLOSE curID
- DEALLOCATE curID
- PRINT '对数据库“' + @DbName + '”的连接清除操作完毕'
更多...好站/酷站
本站部份资源来于互联网,只供学习之用,不得用于商业,如有侵犯版权请联系告知,本站将第一时间删除!
站长QQ:373638128 邮箱:navy1015@126.com
copyright © 2008 .Net中文社区 ASPXCS.NET™.All Rights Reserved 滇ICP备08102132号
站长QQ:373638128 邮箱:navy1015@126.com
copyright © 2008 .Net中文社区 ASPXCS.NET™.All Rights Reserved 滇ICP备08102132号

