清除数据库连接的存储过程

USE master
GO

CREATE PROCEDURE killspid
(
  @dbname VARCHAR (20)
)
AS
BEGIN
        DECLARE @SQL nvarchar(500)
        DECLARE @spid int
        DECLARE getspid CURSOR FOR
                SELECT spid FROM sysprocesses
                WHERE dbid=db_id(@dbname)
        OPEN getspid
        FETCH NEXT FROM getspid INTO @spid
        WHILE @@FETCH_STATUS <> -1
        BEGIN
                EXEC('kill '+@spid)
                FETCH NEXT FROM getspid INTO @spid
        END
        CLOSE  getspid
        DEALLOCATE  getspid
END
GO

-- 调用
EXEC killspid @dbname = '数据库名'

posted @ 2010-04-10 10:09  Alex.Net  阅读(110)  评论(0)    收藏  举报