今天在处理sql server 2005数据库分离时,分享数据库失败,结果提示单个用户状态,导致整个sql server 2005实例无法访问了。
解决方法:
先kill占用了数据库的那个进程,然后设置数据库为多用户模式。
语句:
USE master;
GO
DECLARE @SQL VARCHAR(MAX);
SET @SQL=''
SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)
FROM master..sysprocesses
WHERE dbid=DB_ID('数据库名'); -- testdb
EXEC(@SQL);
GO
ALTER DATABASE [testdb] SET MULTI_USER
附,SQLServer2008 将“单个用户”改为“多用户”的方法。
要分离掉数据库,然后将其删除,一直分离不了,试了很多次,又尝试直接删除,结果数据库突然显示成了“单个用户”。
尝试查看其属性,或者“新建查询”也都报错,提示已经有其他用户建立了连接什么的,可以kill掉该数据库进程的sp,执行也仍然报错。
于是,用了最直接的办法,将服务器重启。
然后,执行该语句:
恢复成多用户模式了,数据库可以正常全用了。