Conflicts happen when the latest version of an object in source control and the latest version in the database are incompatible. This happens if two people modify the same object. Conflicted objects can't be committed or retrieved until the conflict is resolved.
When a conflict happens, the Conflict to resolve bar is displayed in the Object Differences pane:
To resolve a conflict, choose either:
- Keep mine
Your changes are committed to source control.
This replaces any changes to the latest source control version that aren't present in your database version.
- Take theirs
Your changes are discarded, and the database is updated to the latest source control version.
In SQL Source Control 3.5 and later, you can use the third-party tools Beyond Compare 3 or KDiff3 to merge conflicted stored procedures from SQL Source Control. For more information, see Merging conflicts from SQL Source Control with Beyond Compare 3 or KDiff3.
Conflicts involving data
If an object has both schema and data changes, you need to commit or get the latest schema and data changes at the same time. You can't commit only the data changes. This is because data changes may fail without the associated schema changes. This means if an unconflicted data change is associated with a conflicted object, you can't commit or get the data change without resolving the schema conflict first.
Merging in older versions of SQL Source Control
To merge changes from two conflicting versions of an object, resolve the conflict, and then manually edit the object to include the changes from the other version.
To make this easier, you can copy either version of an object's creation script from the Object Differences pane, and paste it into a new query window.
To avoid conflicts, we recommend you get the latest version of an object before modifying it.