SQL Server无法删除数据库

当你关闭了所有与要删除的数据库相关的表窗口,使用代码或者直接Delete也报错
Error:无法删除数据库 “xxxxx”,因为该数据库当前正在使用。
可以尝试下段代码:

USE MASTER  
GO  
   
DECLARE @dbname SYSNAME  
SET @dbname = '@dbname' --这个是要删除的数据库库名  
   
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 + ']')  


发布了86 篇原创文章 · 获赞 1 · 访问量 835

猜你喜欢

转载自blog.csdn.net/qq_34550459/article/details/105190427