SQLServer删库时获得独占权限

2021-09-22  本文已影响0人  这货不是王马勺

方法就是将使用此数据库的线程强制kill掉

USE master;
GO
 
DECLARE @dbname sysname;    
SET @dbname = 'TingbugDatabase';--这个是要删除的数据库库名
 
DECLARE @s NVARCHAR(1000);
DECLARE tb CURSOR LOCAL
FOR
    SELECT  s = 'kill ' + CAST(spid AS VARCHAR)
    FROM    master..sysprocesses
    WHERE   dbid = DB_ID(@dbname);
 
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;
--EXEC('drop database ['+@dbname+']');

最后是删库,如果不需要的话可不执行

上一篇 下一篇

猜你喜欢

热点阅读