sql server数据库从单用户模式改为多用户模式

网络整理 - 08-18

   今天想在sql server2005下复制一个数据库,结果最后一步出错,复制没成功反而导致数据库打不开了,

  名称后出现"单个用户",估计是进行复制的时候自动将其改为了单用户模式,可通过执行如下语句恢复多用户模式。

  原理是先kill占用了数据库的那个进程,然后设置数据库为多用户模式。

  USE master;

  GO

  DECLARE @SQL VARCHAR(MAX);

  SET @SQL=''

  SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)

  FROM mastersysprocesses

  WHERE dbid=DB_ID('数据库名');

  EXEC(@SQL);

  GO

  ALTER DATABASE 数据库名 SET MULTI_USER;