时间:2021-07-01 10:21:17 帮助过:332人阅读
欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 今天想在sql server2005下复制一个数据库,结果最后一步出错,复制没成功反而导致数据库打不开了, 名称后出现"单个用户",估计是进行复制的时候自动将其改为了单用户模式,可通过执行如下语句恢复
欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入
今天想在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;