SQL Server中强制关闭数据库连接

您所在的位置:网站首页 关闭数据库命令 SQL Server中强制关闭数据库连接

SQL Server中强制关闭数据库连接

2023-09-17 04:24| 来源: 网络整理| 查看: 265

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[StopLogin]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

    DROP PROCEDURE [dbo].[StopLogin]

GO

 

CREATE PROCEDURE StopLogin

    @Dname varchar(50) 

AS

DECLARE

    @name varchar(50), 

    @s varchar(1000)

BEGIN

    IF (@Dname = '')

    BEGIN

       DECLARE DataName CURSOR FOR

       SELECT name FROM sysdatabases WHERE name not in ('master')

 

       OPEN DataName

 

       FETCH NEXT FROM DataName

       INTO @name

 

       WHILE (@@FETCH_STATUS = 0)

       BEGIN  

           DECLARE tb CURSOR local    

           FOR  

           SELECT N'kill   '+CAST(spid AS varchar)  

           FROM master..sysprocesses    

           WHERE dbid=db_id(@name)  

 

           OPEN tb    

 

           FETCH next FROM tb INTO @s  

 

           WHILE @@FETCH_STATUS=0  

           BEGIN  

               EXEC(@s)  

 

               FETCH NEXT FROM tb INTO @s  

           END  

 

           CLOSE tb  

           DEALLOCATE tb

                        

           FETCH NEXT FROM DataName

           INTO @name

       END

 

       CLOSE DataName

       DEALLOCATE DataName

    END

    ELSE

    BEGIN

       DECLARE tb CURSOR local    

       FOR  

       SELECT N'kill   '+CAST(spid AS varchar)  

       FROM master..sysprocesses    

       WHERE dbid=db_id(@Dname)  

 

       OPEN tb   

 

       FETCH next FROM tb INTO @s 

 

       WHILE @@FETCH_STATUS=0  

       BEGIN  

           EXEC(@s)  

 

           FETCH NEXT FROM tb INTO @s  

       END  

 

       CLOSE tb  

       DEALLOCATE tb

    END

END



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3