Thank-you for writing about the tablediff utility.
The tablediff is primarily meant for use in replicating environments, hence, some of the rules that apply to replicating environments also apply to tablediff. For example, tablediff is able to identify when the schema of two tables is different (maybe in case of a missing column, for example) but is unable to tell "what" is different.
Also, tablediff requires that the source table in the comparison must contain at least one primary key, identity, or ROWGUID column. Therefore, tablediff does not work for heaps.
tablediff is a great utility if you just want to compare the data between two states of the same database, on the same version. Personally, I use tablediff in replicating environments, but not for database comparisons. For database comparison, Visual Studio 2010 (Ultimate) data/schema compare or other 3rd party tools are good choices.
commented on Jul 7 2012 3:53AM