【问题标题】:Merge SQL databases keeping one index合并保留一个索引的 SQL 数据库
【发布时间】:2016-07-05 18:51:25
【问题描述】:

我必须为在没有适当备份的情况下发生故障的 POS 系统恢复 SQL 2008 R2 数据库。 .BAK 文件已恢复,但已损坏。但是,我能够检索到大部分数据并将其恢复为可用的形状。

我现在的问题如下: 我有数据库 A,它是 POS 系统的全新安装,以及数据库 B,它是恢复的 .BAK 文件。 B 中的大多数表都缺少索引值,而 A 具有完整的结构,但(显然)缺少所有有价值的数据。

我将如何合并两者,以便获得具有正确结构的全索引数据库?

【问题讨论】:

    标签: sql indexing merge sql-server-2008-r2 backup


    【解决方案1】:

    一种简单的方法是使用内置命令行工具tablediff.exe。它可以比较两个表/视图,并打印出差异。

    tablediff 实用程序用于比较两个表中的数据是否存在不收敛,对于解决复制拓扑中的不收敛问题特别有用。此实用程序可用于从命令提示符或批处理文件中执行以下任务:

    • 在充当复制发布者的 Microsoft SQL Server 实例中的源表与充当复制订阅者的一个或多个 SQL Server 实例中的目标表之间进行逐行比较。
    • 仅通过比较行数和架构来执行快速比较。
    • 执行列级比较。
    • 生成 Transact-SQL 脚本以修复目标服务器上的差异,从而使源表和目标表趋于一致。
    • 将结果记录到输出文件或目标数据库的表中。

    【讨论】:

    • 感谢您的帮助!似乎数据库比缺少索引的问题更多,但这是朝着正确方向迈出的一大步!
    猜你喜欢
    • 2012-11-14
    • 2019-07-18
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    • 2020-07-10
    • 2019-05-14
    • 2018-08-23
    相关资源
    最近更新 更多