原理是先kill占用了数据库的那个进程,然后设置数据库为多用户模式。
USE master;GODECLARE @SQL VARCHAR(MAX);SET @SQL=''SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)FROM master..sysprocessesWHERE dbid=DB_ID('数据库名');
EXEC(@SQL);
GO
ALTER DATABASE 数据库名 SET MULTI_USER;
设置成多用户模式后才能进行删除等操作。