• 如何设置已被连接占用的数据库为MULTI_USER模式,数据库 'xxx' 已打开,并且一次只能有一个用户访问


    USE master;
    GO
    --方法一
    DECLARE @SQL VARCHAR(3000);
    SET @SQL = '';
    SELECT @SQL = @SQL+'; KILL ' + RTRIM(SPID)
    FROM [sys].[sysprocesses] AS sps
    WHERE [sps].[dbid] = DB_ID('test');
    SET @SQL = SUBSTRING(@SQL, 2, LEN(@SQL));
    EXEC(@SQL);
    GO

    --方法二
    DECLARE @DBName SYSNAME;
    SET @DBName = 'ESB'; --这个是要删除的数据库库名    
         
    DECLARE @KSQL NVARCHAR(1000)
    DECLARE tb CURSOR LOCAL
    FOR  
    SELECT
        KSQL = 'KILL ' + CAST([sps].[spid] AS NVARCHAR(10))
    FROM [sys].[sysprocesses] AS sps
    WHERE dbid = DB_ID(@DBName)--查询@DBName相关的线程
        
    --循环杀掉要删除数据的相关线程
    OPEN tb
    FETCH NEXT FROM tb INTO @KSQL
    WHILE @@FETCH_STATUS = 0  
    BEGIN  
        EXECUTE(@KSQL);
        FETCH NEXT FROM tb INTO @KSQL
    END
    CLOSE tb    
    DEALLOCATE tb

    --方法三
    ALTER DATABASE [ESB] SET MULTI_USER;--设置为多用户模式
  • 相关阅读:
    Scala Ant Tasks
    Git挂钩
    读写文件
    DC10用CSS定位控制网页布局
    table设置colspan属性,列宽显示错位解决方法
    ATM和购物商城-错题集
    python 函数参数多种传递方法
    python 函数 初学
    python 集合 gather
    元组 字体高亮 购物车练习
  • 原文地址:https://www.cnblogs.com/chengyihardworking/p/16225190.html
Copyright © 2020-2023  润新知