合并保留一个索引的SQL数据库

时间:2016-03-18 21:03:30

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

  

tablediff实用程序用于比较两个表中的数据以进行非收敛,对于排除复制拓扑中的非收敛特别有用。可以从命令提示符或批处理文件中使用此实用程序来执行以下任务:

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