【问题标题】:Restoring two databases from a single backup file (SQL Server 2005)从单个备份文件恢复两个数据库 (SQL Server 2005)
【发布时间】:2010-01-27 09:28:20
【问题描述】:

我有一个 .bak 文件,其中包含 两个 不同数据库的备份集。它是由 sql server 维护计划制定的。现在我必须恢复两个数据库。问题是,当第一个数据库恢复正常(db_companies)时,另一个数据库(db_data)给出了一个错误:

服务器“SBSERVER”的恢复失败。 (Microsoft.SqlServer.Smo)

System.Data.SqlClient.SqlError: 逻辑文件“CompaniesDB” 不是数据库“DataDB”的一部分。采用 RESTORE FILELISTONLY 列出 逻辑文件名。 (Microsoft.SqlServer.Smo)

数据库还原向导显示了两个数据库,我选择了完整的和最新的差异集。 RESTORE FILELIST 命令显示 CompaniesDB。这是怎么回事?

我也尝试过 RESTORE DATABASE WITH MOVE,但它无法识别 DataDB 逻辑名称。

有没有办法从备份集中恢复DataDB

【问题讨论】:

  • 属于服务器故障。

标签: sql-server-2005 backup database-restore


【解决方案1】:

经过一番深入研究,我终于发现这是sql server 2005中的一个错误。我安装了SP3后一切正常。

【讨论】:

    【解决方案2】:

    1)如果您(在 Management Studio 中)分离 db_data,备份现有的 mdf 和日志,然后完全删除数据库,确保 mdf 和日志从其原始 DATA 文件夹中消失。
    2)然后,右键单击数据库并转到“恢复数据库”
    3)先选择来源!转到“从设备”并浏览到 .MDF
    4) 现在在“Destination for Restore”部分下展开标题为“To Database”的下拉列表,然后选择 db_data。
    5)点击确定
    6)它应该恢复正常,右键单击它,转到属性并设置所有者。

    注意,这是我使用 MSSQL 08,但如果我没记错的话,05 的管理工作室并没有太大的不同。

    我相信这里的其他人知道更清洁的方法,但上面的方法会起作用。

    【讨论】:

    • 这正是我尝试过的。给出了我描述的错误。
    【解决方案3】:

    bak 文件可能没有两个数据库的备份。

    根据您的设置,每个文件只有一个备份,除非文件实际上是“设备”并且备份没有启动设备/文件。

    【讨论】:

    • 但确实如此?我们有一个维护计划,计划将两个数据库备份到一个文件中(数据库选择组合框具有多选功能)。所以备份计划从一开始就是错误的?
    • 有可能(我不使用维护计划)
    猜你喜欢
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    相关资源
    最近更新 更多