So I have some very large databases, in which I'm trying to keep just a couple small tables in sync. This worked fine in SDC7, but after updating to SDC8 it seems that the app insists on selecting all data from every table in the source database, even when I specify only a specific table to compare.
For example, here's my current command line:
"E:\Red Gate\SQL Data Compare 8\SQLDataCompare.exe" /verbose /server1:aaa /server2:bbb /database1:wasauthoring /database2:wasauthoring /options:d,t /include:identical /include:table:\[pdsaRolePermissions\]|\[pdsaUsers\]|\[pdsaUserRoles\]|\[wasContentStatus\]|\[wasResourceType\] /sync
And here's the output:
Red Gate SQL Data Compare Command Line Utility V8.0.2.5
==============================================================================
Copyright c Red Gate Software Ltd 1999-2009
Serial Number:
SQL Data Compare running with SQL Option: Default (OK).
SQL Data Compare running with SQL Option: DisableAndReenableDMLTriggers (OK).
Comparing database aaa.wasauthoring with database bbb.wasauthoring...
Registering databases
Mapping
Comparing databases
Generating SQL scripts
Synchronizing databases
Finished
Summary Information
===============================================================================
DB1 = aaa.wasauthoring
DB2 = bbb.wasauthoring
Object type Name Records DB1 DB2
-------------------------------------------------------------------------------
Table [dbo].[pdsaRolePermissions] 13 == ==
Table [dbo].[pdsaUserRoles] 28 == ==
Table [dbo].[pdsaUsers] 20 == ==
Table [dbo].[wasContentStatus] 4 == ==
Table [dbo].[wasResourceType] 2 == ==
-------------------------------------------------------------------------------
OK
And that all appears fine, however the comparison runs for hours before it completes. This got me a little suspicious, so I setup a profiler trace on the source database and ran the compare again, and sure enough, SDC8 is selecting every single row from every single table as part of the process.
I've confirmed this behavior on multiple databases and it's the same everywhere: SDC8 syncs only the tables I've specified, but it always select from every table in the source DB. The essentially makes it useless for my purposes, so I'll be switching back to SDC7, unless there is a fix for this.
For example, here's my current command line:
And here's the output:
And that all appears fine, however the comparison runs for hours before it completes. This got me a little suspicious, so I setup a profiler trace on the source database and ran the compare again, and sure enough, SDC8 is selecting every single row from every single table as part of the process.
I've confirmed this behavior on multiple databases and it's the same everywhere: SDC8 syncs only the tables I've specified, but it always select from every table in the source DB. The essentially makes it useless for my purposes, so I'll be switching back to SDC7, unless there is a fix for this.