Bri*_*ins 3 sql-server-2008 sql-server sqlcmd restore
我在一个 SQL 文件中有一个还原数据库脚本,我正在尝试将从一个数据库生成的备份还原到一个新的数据库(存在)。SQLCMD 正在命令行上执行该 SQL 文件。命令窗口让我知道恢复成功完成;但是数据库还处于恢复状态,无法访问。因此,我的批处理过程的其余部分失败。如何让数据库退出恢复状态并返回到联机状态,以便我可以运行其他批处理脚本?
我正在使用它来做到这一点:
restore filelistonly
from disk = 'c:\program files\microsoft sql server\mssql10.mssqlserver\mssql\backup\olddb.bak'
GO
RESTORE DATABASE NewDB
FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\olddb.bak'
WITH NORECOVERY, REPLACE,
MOVE 'OldDB' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\newdb.mdf',
MOVE 'OldDB_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\newdb.ldf'
Run Code Online (Sandbox Code Playgroud)
如果我的数据库说它成功完成,为什么我的数据库仍然处于恢复状态,有什么想法吗?
谢谢。
您使用了 NORECOVERY,它使数据库准备好接收差异/日志还原
你可以在上面删除它,或者简单地运行这个
RESTORE DATABASE NewDB WITH RECOVERY
Run Code Online (Sandbox Code Playgroud)
请参阅MSDN RESTORE,查找“ [ RECOVERY | NORECOVERY | STANDBY ]
”标题
归档时间: |
|
查看次数: |
2073 次 |
最近记录: |