Using SQL Source Control 3 hooked up with Mercurial. Large Databases with lots of records. Normally we don't keep any data under source control, so our Data folder in the scripts folder is usually empty.
We have an automated deployment process through TeamCity that does a checkout from Mercurial, and then runs two steps (1) a command line SQL Compare from the scripts folder to the deployment server and then (2) a command line SQL Data Compare from the scripts folder to the deployment server.
This runs fine.
I setup two more steps today to generate rollback scripts so now we have the two above and two more (3) a command line SQL Compare from the deployment server to the scripts folder and (4) A command line SQL Data Compare from the deployment server to the scripts folder.
Step (2) takes almost always takes very little time (because the Data folder is usually empty). The times we do have data under source control it runs longer. No problem.
Step (4) so far always gets to Comparing databases and then hangs.
I checked the SQL Server and it is always running a select from a large table with a couple hundred thousand rows.
It appears to be doing things differently because of the order of comparison, but it should check my Data folder first in my src2 Scripts and see that nothing (or very few tables at most) are there to compare.
I am calling SQL Data Compare with an arguments file in both cases. Here are the arguments files:
(2) Runs fine
(4) Won't complete
Things I have tried:
Doing the same compare through the UI: Runs quickly as expected
Removing <include>identical</include>: No difference, still very slow
Rearrange XML elements in several different order: No difference, still very slow
Any help would be greatly appreciated.