两个相似表上的 tablediff

两个相似表上的 tablediff

我们正在将 SQL Server 2005 升级到 2008,同时要更改的一件事是将所有 varchar 字段更改为 nvarchar(不要问我为什么)。

将数据导入新的 2008 数据库后,我想比较和验证数据。因此,我尝试使用 SQL Server 附带的 tablediff 程序,但由于 varchar/nvarchar 差异,它无法比较这两个架构。

这是我收到的错误:

服务器 1 上的表 [db1].[dbo].[table1] 和服务器 2 上的表 [db2].[dbo].[table2] 具有不同的模式,无法进行比较。

有没有快速的解决方法?如果没有,有人有什么免费的建议吗?

顺便说一句,如果我可以只比较具有特定条件的行(即日期 > 2009),而不是比较整个表,那就太好了

答案1

如果你想要一个实用程序来为你做这些(你可以在 14 天的评估期内完成,或者不介意花一些钱),Red Gate Software 有非常好的实用程序SQL 比较(针对架构)和SQL数据比较(用于数据)。

(感谢 squillman 指出我链接了错误的!)

答案2

Volpet 软件有一个名为 Table Diff 的工具对 SQL Server 执行此操作

相关内容