无法删除数据库,因为该数据库正在使用

删除数据库操作的时候,删除失败并且抛出异常,

“无法删除数据库xxx, 因为该数据库当前正在使用!”

下方SQL总databasename为需要删除的数据库库名 。

USE MASTER    
GO    
     
DECLARE @dbname SYSNAME    
SET @dbname = 'databasename'   
     
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 + ']')    

你可能感兴趣的:(SQL)