【发布时间】:2014-04-08 04:54:13
【问题描述】:
我实际上是在尝试编写一个脚本(在 Sql Server 2008 中)从一个备份文件中恢复一个数据库。我编写了以下代码,但出现错误 -
Msg 3101, Level 16, State 1, Line 3
Exclusive access could not be obtained because
the database is in use.
Msg 3013, Level 16, State 1, Line 3
RESTORE DATABASE is terminating abnormally.
我该如何解决这个问题?
IF DB_ID('AdventureWorksDW') IS NOT NULL
BEGIN
RESTORE DATABASE [AdventureWorksDW]
FILE = N'AdventureWorksDW_Data'
FROM
DISK = N'C:\Program Files\Microsoft SQL Server\
MSSQL10_50.SS2008\MSSQL\Backup\AdventureWorksDW.bak'
WITH FILE = 1,
MOVE N'AdventureWorksDW_Data'
TO N'C:\Program Files\Microsoft SQL Server\
MSSQL10_50.SS2008\MSSQL\DATA\AdventureWorksDW.mdf',
MOVE N'AdventureWorksDW_Log'
TO N'C:\Program Files\Microsoft SQL Server\
MSSQL10_50.SS2008\MSSQL\DATA\AdventureWorksDW_0.LDF',
NOUNLOAD, STATS = 10
END
【问题讨论】:
-
如果我可以让它工作,也许我可以制作一个可靠的脚本来从一个文件夹中恢复多个数据库。我在网上找不到任何可靠的代码。我的代码可能是可靠的,因为它是由 SS 自己生成的。
标签: sql sql-server sql-server-2008