Compares and synchronizes SQL Server databases, backups and scripts.
Moderators: JonathanWatts, Chris Auckland, David Atkinson, eddie davis, Anu Deshpande, Michelle Taylor, alice.easey, james.billings, chengvoon.tong
Hi, I have several default and unique constraints that were unnamed when they were created. by default SQL Server seems to assign them a hash name which causes conflicts when using sql compare.
I tried using IgnoreConstraintNames within my command line script but that didn't work. SqlCompare shows a difference like the example below.
UQ__cont__F43B3D3 - UQ__cont__42CB6785
Is there a way to force the constraint name to be the same hash name as before?
- Posts: 2
- Joined: Tue Dec 20, 2011 9:05 pm
You can specify an actual name for the constraint (e.g. 'col1 CONSTRAINT unique_constraint_x UNIQUE' instead of just 'col1 UNIQUE') when creating the constraint, but there's no global way to force SQL Server to change its automatic naming scheme.
IgnoreConstraintNames ought to have ignored constraint names during comparison (i.e. it won't flag the table as different if the only difference is the constraint name), but if there is another difference on the table then it will attempt to synchronize the constraint name when it synchronizes the table.
If you don't care what the constraint name is, this ought to be harmless (as it should also update any references to that constraint with the new name if you've included dependencies).
- Posts: 529
- Joined: Mon Oct 30, 2006 12:45 pm
- Location: Red Gate Software
Return to SQL Compare 10
Who is online
Users browsing this forum: No registered users and 0 guests