Out of Memory Exception on SQL Data Compare 9
smanning
Posts: 7
I am running on a Windows 2008 R2 64 server with 4 GB of RAM. The RBTemp variable is set to the D drive which has 600GB of free disk space. I am comparing two databases (about 200GB each) on SQL 2008 and there are some varbinary fields, but they are all very small (less than 50K) in size. I am using version 9.1.0.365 of the SQL Data Compare tool
When I run the project via the GUI interface the project runs perfectly. But when I run the same project via the command line using the /project and /export parameters, I get the following error
Registering databases
Mapping
Comparing databases
Error: Exception of type 'System.OutOfMemoryException' was thrown.
I do not see any errors in the event log.
Can you let me know how I can resolve the memory problem when running the tool via the command line?
When I run the project via the GUI interface the project runs perfectly. But when I run the same project via the command line using the /project and /export parameters, I get the following error
Registering databases
Mapping
Comparing databases
Error: Exception of type 'System.OutOfMemoryException' was thrown.
I do not see any errors in the event log.
Can you let me know how I can resolve the memory problem when running the tool via the command line?
Comments
In theory there shouldn't be any difference as they're using the same engine.
Can you make sure you're using the exact same options in both the UI and the CL?
Just to make sure, the environment variable you need to set is RGTemp (I'm assuming RBTemp was a typo in your post)
SQL Data Compare really shouldn't be throwing OOM exceptions anyway, so could you check the SQLDataCompare process in task manager and see what it gets to before the OOM is thrown?
I ran the process explorer for both the console and GUI running exactly the same project and the console memory utilization just kept going up to 1.6 GB when it died. The GUI run kept the memory at about 95MB. I took screenshot of both runs and can email them to you if you want.
On the options, I am using the default options for a project. I selected about 200 tables and of a few of the tables, I unselected a column that should not be used in the comparison. The column was a “last modified†field which would never be the same between the respective tables.
For the console run, I am using the “project†parameter and pointing it to the same project that I am using in the GUI version.
Gen 0 heap size 5,242,880
Gen 1 heap size 22,940
Gen 2 heap size 1,348,823,532
Large Object Heap Size - 318,120,552
It does look like a memory leak in the console part of the app.
I can email you the project if that would help.