SQL数据比较 - 缺少一些表

lee*_*len 12 sql-server sql-server-2008 visual-studio-2013 sql-server-data-tools

当通过VS 2013 pro使用SQL Server数据工具进行数据比较时,我遇到了一些情况,其中一些表似乎被错过了.

我的意思是TableA源服务器上有数据,但目标服务器上的等效表中没有数据.

但是,结果窗口甚至没有显示一行TableA.

此外,如果我在按"完成"之前尝试在下一步中过滤结果,TableA则不会显示为过滤选项.这几乎就像目标服务器上不存在该表一样.我已经通过以下方式验证了:

  • 通过SSMS连接并查看表列表
  • 运行 SELECT * FROM information_schema.tables

在这两种情况下,我都可以看到列出的表格.

有没有人见过这个?我错过了什么?

jea*_*ean 22

只有在您知道必须比较表中的哪些记录时,才能比较数据.Comparer使用PK来了解要比较的记录.如果您的表没有PK(或至少是唯一索引),那么表列表中就会丢失它.

您可以通过自己创建PK来解决它(仅用于比较)

  • Microsoft应该给出一些指示符/消息,表明某些表需要主键才能进行比较.用户需要在输出屏幕上获得更多反馈,因为在我们运行比较时这并不清楚.谢谢你的回答! (7认同)