ApexSQL Data Diff
If very large databases are compared, in some cases, the memory limitation of the application may be exceeded. If so this will produce an Out Of Memory error.
Due to how data is compare in memory, there will always be a finite amount of data that can be compared based on the memory available to the process. ApexSQL Data Diff has been continuously optimized to increase this maximum threshold by processing more efficiently, but depending on the amount of data to be compared and memory resources of the system it is running on, this threshold may still be hit.
This problem can be mitigated by gradually breaking down the comparison process to smaller parts of a database, by comparing tables, or columns to hopefully avoid hitting the maximum memory threshold.
This can be accomplished by first setting the data sources, and then enabling the Object filter, which is accessed by the advanced options menu.
In the Object filter select the table that needs to be compared, and run the comparison.
If the error is still encountered, then proceed to selecting only one column from the table, and if successful, repeat the process for other columns.
ApexSQL Data Diff All, although newer versions experience the problem much less frequently.
ApexSQL is always working to increase the amount of data that can be compared and newer versions are always able to process larger amounts of data more efficiently.