What version of the API do you have there? Early versions of v6 had a couple of problems when saving certain databases to scripts, which would end up with them writing out a 'dbo' and a 'DBO' schema, causing the error you're seeing, and previous versions have had similar problems synchronizing 2000 and 2005 databases.

If you're using 6.2.0.271 and it's still doing this, I'd like to know more details about exactly what you're doing, so I can track down where the probelm's coming from. e.g. what are the database verisons / types on each side, where in the code is the exception thrown, if possible the code you're using / full stack trace / backups or snapshots or folders with the databases in (to michelle.taylor@red-gate.com for things you don't want to post publically).

It seems like I have version 6.2.2.14 or 6.2.1.36 (depending on if I look under Compare or Data Compare dir. Seems odd Data Compare has a newer version). I'm using a SQL 2005 snapshot to update a 2000 server so this is likely to be the problem. I'll try to mail a complete description tomorrow.

I don't know if I'm missing something, but the distribution of the Toolkit dll's seems quite confusing. First of all, the only download I can find is for the entire Toolbelt, and once installed, the dll's are scattered all around the place. This makes it very difficult to keep track of versions.

Data Compare has a newer version because we're almost constantly developing the SQL Compare Engine, and as Data Compare is currently the later release it has the most up to date released version of the SQL Compare Engine.

You should generally use a single product's set of dlls when using the toolkit - the latest version is generally the best for your task, but if you're using Data Compare functionality you have to use the ones from Data Compare and if you're using Packager functionality you have to use the ones from Packager. I know that this isn't very well signposted at the moment - we're currently looking into changing the way the Toolkit is distributed, which will hopefully include clearer documentation and installation procedures.

Peter's issue was fixed by registering a database object separately for SQL Compare and Data Compare. Registering a single database object for both has this side-effect, so in order to prevent odd things like this, be sure to use only the Database.Register method for a schema comparison and Database.RegisterForDataCompare when using the database object for a data comparison.