sql2008还原问题

多用户模式下还原数据库

还原或删除sql server 2008数据库时,经常烩出现:
“因为数据库正在使用,所以无法获得对数据库的独占访问权”,终解决方案如下

关键SQL语句:
ALTER DATABASE [datebase] SET OFFLINE WITH ROLLBACK IMMEDIATE
还原完数据库之后再
ALTER database [ datebase] set online

设置了单用户模式,然后无法操作数据库

早上过来准备将服务器的数据库分离,因为这个服务器的数据已经不在需要,但是在分离的时候发现出现如下错误:数据库 'xxx' 已打开,并且一次只能有一个用户访问,后来查看数据库的选项,果然被设置为了[SINGLE_USER],导致无法分离,估计是昨晚在备份数据库之后不知道如何的就设置为了[SINGLE_USER]吧,现在需要将其设置为多用户的模式,在设置多用户模式的时候可能会因为还有其它进程的连接导致设置无法进行,所以需要杀掉所有连接的进程。使用如下SQL语句即可

USE master;   
GO   
DECLARE @SQL VARCHAR(3000);  
SET @SQL = '';  
SELECT @SQL = @SQL+'; KILL ' + RTRIM(SPID)  
FROM [sys].[sysprocesses] AS sps  
WHERE [sps].[dbid] = DB_ID('DB_NAME');   
SET @SQL = SUBSTRING(@SQL, 2, LEN(@SQL));  
EXEC(@SQL);  
GO 
##杀死进程后,修改为多用户模式
ALTER DATABASE [Anncode_DB] SET MULTI_USER;

你可能感兴趣的:(sql2008还原问题)