我们正在将数据库迁移到新架构,但要验证数据是否已正确移动。
如果架构相同,则传统的数据比较工具可以比较两个数据库之间的差异。在我们的案例中,表设计有所更改,但是旧模式中的所有数据都在新模式中,只是稍微移动了一下,我需要确保它是正确的。我们有数千万行,因此不能选择手动检查。
是否有任何工具可以帮助进行这种比较?
如果没有,那么是否有任何库/框架可以帮助启动定制解决方案的开发?
如果有必要,我很高兴使用特定于数据库的解决方案,在这种情况下,对于SQL Server 2008。
我的解决方案:我通过VIEW
在旧数据库上创建每个表的字段与新数据库表相同的字段来比较这两个数据集。
然后,我使用这里描述的技术比较数据:在SQL Server中比较两个表的最短,最快和最简单的方法:UNION!
在这次迁移中,我很幸运,因为整个表的结构类似于旧数据库,其中字段从一个表移动到另一个表,或者被删除或添加。在删除和添加的情况下,没有什么可比较的,对于已移动或聚合的字段,我会在视图中进行计算以提供正确的信息以进行比较。
该UNION
比较显示我只能用不同的行,所以只要数据是正确的,我得到一个空的结果集。