SQL清除某个数据库的所有数据库连接

来源:互联网 发布:网易云课堂mac电脑版 编辑:程序博客网 时间:2024/05/17 02:01
USE master --清除连接请注意是否还use着此数据库GO 
CREATE PROC L_spClearDbConnections    @DbName    VARCHAR(30)AS--清除某个数据库的所有数据库连接--RickyLin 2007-11-1DECLARE @SPID    INTDECLARE @SqlForClear    NVARCHAR(100)DECLARE curID CURSOR FORWARD_ONLY READ_ONLY FOR (    SELECT SPID    FROM Master.dbo.SysProcesses    WHERE DB_Name(DBID) = @DbName)OPEN curIDFETCH NEXT FROM curID INTO @SPIDWHILE @@Fetch_Status = 0BEGIN    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 @SPIDENDCLOSE curIDDEALLOCATE curIDPRINT '对数据库“' + @DbName + '”的连接清除操作完毕'exec L_spClearDbConnections @DbName=''


 

原创粉丝点击