【发布时间】:2015-08-26 01:56:09
【问题描述】:
我正在尝试从我的实时数据库中外包一些流程,其中第三方工具正在导入数据,由于质量原因,这些数据首先必须通过一些脚本/更改才能在实时数据库中实施
所以我想我会在同一台服务器上创建第二个数据库,并使用我的备份批次,每次我进行备份时,我都会在新数据库中恢复备份,第三方工具正在导入数据。然后我使用这个数据库对另一个数据库进行一些更改,然后我将其更新到实时数据库中。
批处理文件:
osql.exe -S (local)\WAWI -U user -P password -Q "BACKUP DATABASE eazybusiness TO DISK = 'c:\WaWi-Backups\eazybusiness.bak'"
osql.exe -S (local)\WAWI -U user -P password -d master -Q "restore database Mandant_2 FROM DISK ='c:\WaWi-Backups\eazybusiness.bak' with replace"
但是在运行脚本时,restore 命令抛出以下错误
消息“1834”,“16”,状态“1”,服务器“DBServer\WAWI”,第 1 行
文件 ' C:\Program Files\Microsoft SQL 服务器\MSSQL11。 WAWI\MSSQL\DATA\eazybusiness.mdf' 不能被覆盖 是。它被eazybusiness数据库使用。消息“3156”,“16”,“4”状态,服务器“DBServer\WAWI”,第 1 行
文件“eazybusiness”不能在“C:\Program Files\Microsoft SQL”中 服务器\MSSQL11。 WAWI\MSSQL\DATA\eazybusiness.mdf' 被恢复。 使用 WITH MOVE 移动到文件的有效位置以进行识别。消息“1834”,“16”,状态“1”,服务器“DBServer\WAWI”,第 1 行
文件 ' C:\Program Files\Microsoft SQL 服务器\MSSQL11。 WAWI\MSSQL\DATA\eazybusiness_log.ldf' 不能 被覆盖。它被eazybusiness数据库使用。消息“3156”,“16”,“4”状态,服务器“DBServer\WAWI”,第 1 行
文件“eazybusiness_log”不能位于“C:\Program Files\Microsoft SQL”中 服务器\MSSQL11。 WAWI\MSSQL\DATA\eazybusiness_log.ldf' 已恢复 是。使用 WITH MOVE 到文件的有效位置 识别。消息“3119”,“16”,状态“1”,服务器“DBServer\WAWI”,第 1 行
在还原语句的规划中发现了问题。前 消息包含详细信息。消息“3013”,“16”,状态“1”,服务器“DBServer\WAWI”,第 1 行
RESTORE DATABASE 异常停止。 说话选择语音选项使用必应搜索此翻译这是一个很好的翻译这是一个糟糕的翻译。
如何批量恢复另一个数据库中的备份?
【问题讨论】:
标签: sql-server-2008 batch-file database-restore