zoukankan      html  css  js  c++  java
  • TSQL--删除正在运行的数据库

    DECLARE @dbName NVARCHAR(200);
    SET @dbName='DB1_SNAP'
     
    BEGIN TRY
    --=====================================
    --查找当前数据库所有连接并删除
     
    DECLARE @spid INT;
    DECLARE @tempSQL NVARCHAR(200);
    --判断临时表是否存在,存在则删除
    IF(OBJECT_ID('tempdb.dbo.#temp','U') IS NOT NULL)
    BEGIN
    DROP TABLE #temp
    END
    --查找活动的SPID
    SELECT spid INTO #temp
    FROM master.sys.sysprocesses
    WHERE dbid =DB_ID(@dbName);
    --循环并删除所有活动SPID
    WHILE((SELECT COUNT(1) FROM #temp)>0)
    BEGIN
       SELECT TOP(1) @spid=spid FROM #temp;
       SET @tempSQL='KILL '+CAST(@spid AS VARCHAR(10));
       PRINT @tempSQL;
       EXEC(@tempSQL);
       DELETE FROM #temp WHERE spid=@spid;
    END
    DROP TABLE #temp
    --========================================
    --删除数据库
    EXEC('DROP DATABASE '+@dbName);
    PRINT '删除成功';
    END TRY
    BEGIN CATCH
    PRINT '执行出错,错误信息:'
    PRINT ERROR_MESSAGE()
    END CATCH
     
  • 相关阅读:
    lnmp分离部署
    Nginx
    Keepalived脑裂监控
    KVM虚拟化
    mysql中间件proxysql实现mysql读写分离
    分离部署lnmp
    nginx
    Keepalived脑裂监控
    keepalived高可用
    KVM虚拟化
  • 原文地址:https://www.cnblogs.com/TeyGao/p/3522634.html
Copyright © 2011-2022 走看看