恢复数据库时出错

5 sql-server stored-procedures sql-server-2008-r2

我在 SQL Server 2008 R2 中使用此查询来恢复DB1数据库:

RESTORE DATABASE [DB1] 
FROM DISK = N'D:\new.bak' 
WITH RESTRICTED_USER, FILE = 1, NOUNLOAD, REPLACE, STATS = 10;
Run Code Online (Sandbox Code Playgroud)

显示以下错误:

消息 3102,级别 16,状态 1,第 1 行
RESTORE 无法处理数据库“DB1”,因为该会话正在使用它。建议在执行此操作时使用master 数据库。
消息 3013,级别 16,状态 1,第 1 行
RESTORE DATABASE 异常终止。

mar*_*c_s 9

消息似乎很清楚:DB1尝试恢复数据库时不能使用数据库 - 而是使用master数据库!

因此,在 SQL Server Management Studio 中,首先关闭所有打开并使用该数据库的窗口!然后运行这个:

USE master
GO

RESTORE DATABASE [DB1] 
FROM DISK = N'D:\new.bak' 
WITH RESTRICTED_USER, FILE = 1, NOUNLOAD, REPLACE, STATS = 10;
Run Code Online (Sandbox Code Playgroud)