我们正在将 SQL Server 2005 升级到 2008,同时要更改的一件事是将所有 varchar 字段更改为 nvarchar(不要问我为什么)。
将数据导入新的 2008 数据库后,我想比较和验证数据。因此,我尝试使用 SQL Server 附带的 tablediff 程序,但由于 varchar/nvarchar 差异,它无法比较这两个架构。
这是我收到的错误:
服务器 1 上的表 [db1].[dbo].[table1] 和服务器 2 上的表 [db2].[dbo].[table2] 具有不同的模式,无法进行比较。
有没有快速的解决方法?如果没有,有人有什么免费的建议吗?
顺便说一句,如果我可以只比较具有特定条件的行(即日期 > 2009),而不是比较整个表,那就太好了
答案1
答案2
Volpet 软件有一个名为 Table Diff 的工具对 SQL Server 执行此操作