Automate and integrate using the SQL comparison API
Moderators: Chris Auckland, David Atkinson, Michelle Taylor, chengvoon.tong
I am using SQL Comparison SDK to synchronize two databases. The queries generated to synchronize a certain table are very large (usually between 15 MB and 25 MB) and cannot be run as a single block. As such, we break them down into smaller batches of approximately 500 lines and execute each in a transaction. We have some logic to ensure that the batches aren't cut off mid-command, and that each batch has the required configuration commands to be run independently of the entire query.
However, I am getting a SQL exception: "The variable name '@pv' has already been declared. Variable names must be unique within a query batch or stored procedure."
This likely means that there is a problem with our batching logic that is putting
DECLARE @pv binary(16)
twice in one batch.
Debugging this issue is proving problematic. It takes a very long time to generate this error in the IDE (perhaps around 4 hours). Moreover, if the exception is left for too long after it is raised, the batch times out and the IDE cannot rewind to the point of the exception.
I'm trying to find a way to get the error to happen faster. I tried to only diff rows for which the primary key contains the number 8, but I can't get it to happen that way. Deleting data to reduce the diff in a test environment is tedious as there are constraints and triggers that have to be disabled to do this.
Does anyone have any advice on how to debug this exception? Perhaps there is some tool in the SDK or tactic to use? I'd appreciate any advice anyone can provide.
- Posts: 10
- Joined: Wed Dec 28, 2011 2:03 am
There is a MaxByteSizeOftransactions option on the SqlProvider class. Hopefully that does what you want.
- Posts: 6670
- Joined: Mon Aug 23, 2004 10:48 am
Return to SQL Comparison SDK 10
Who is online
Users browsing this forum: No registered users and 0 guests