SQL Source Control
Latest version: 3.1
Notes & articles
SQL Source Control technical overview
This article gives a simple architectural and conceptual overview of SQL Source Control. It isn't necessary to understand this in order to use SQL Source Control, but it may assist with troubleshooting, or even be interesting.
SQL Source Control uses the technology that powers SQL Compare to create and maintain folders of object creation scripts representing your database schema. It plugs into SQL Server Management Studio and compares the current state of the database to the representation in source control, detecting changes and letting you commit them.
However, SQL Source Control does not perform repeated direct SQL Compare comparisons between the database and source control. Using only those comparisons would not capture all the information needed to track database changes. In a situation where there is more than one developer, for example, the state of the database may change while you are working. So the difference script produced by a simple comparison may not always represent the actual changes you made. SQL Source Control therefore maintains local, temporary copies of the database schema.
The architecture is:

There are two sets of temporary files:
- The working base
This is a copy of the state of the database when you started working.
It is the baseline against which the changes you make are measured. Differences between the working base and the current state of the database are the changes to commit.
The working base enables SQL Source Control's Undo Changes feature.
- The transient
This is a copy of the state of source control when you started working.
It is periodically updated. Differences between the transient and the current version in source control are the changes to get.
Conflicts occur when the differences between the database and the working base, and between the working base and the transient, are not consistent. This indicates that potentially incompatible changes have been made to both the database and source control.
Periodically, SQL Source Control may automatically update the working base. This occurs when the working base is different to both the database and the transient, but the database and the transient are the same as each other. This is done to prevent spurious change notifications. For example, if you created an object and subsequently dropped it, without committing either change, SQL Source Control updates the working base silently, rather than notify you of two changes.
Was this article helpful?
SQL Source Control
- Setting SQL Compare options within SQL Source Control
- "ICredentialsProvider is unset, therefore can't get" error occurring within SQL Source Control
- Linking fails due to SVN pre-commit hooks
- Logging changes to shared databases
- Object changed by Unknown
- Setting permissions for SQL Source Control
- Using SQL Source Control with Team Foundation Server 2012 or tfspreview.com
- Error: Failed to resolve no-ops after 5 tries
- Using SQL Compare or SQL Changeset scripts with SQL Source Control
all SQL products
- Compatibility of Red Gate tools in 64-bit environments
- Application has encountered an error and needs to close
- Error message after installing SQL Toolbelt - The description for Event ID ( 1 ) in Source ( nview_info ) cannot be found.
- Changing the temporary directory used by the installer
- Toolbelt Installer "hanging" while "scanning volumes"
- Login failing with "trusted SQL Server connection" error when using RunAs
all products
- Some Red Gate products identified as containing a trojan by Anti-Virus software
- Activation may fail with Unknown Error -1
- Product uses web help although a CHM file is available locally
- Argument exception resulting from missing environment variable
- Check for updates may fail when used through proxies
- 'Unidentified Publisher' error when repairing or uninstalling
- Licensing activates product as standard edition
- Moving Red Gate software products to another machine
- Red Gate tools log locations
- The application UI opening slowly when there is no internet access
SQL Source Control
- Database development models
- Release notes - version 1.0
- Release notes - version 1.1
- Release notes - version 2.0
- Release notes - version 2.1
- Release notes - version 2.2
- Requirements & prerequisites
- Technical Overview
- Release notes - version 3.0
all SQL products
all products
- Red Gate product acknowledgements
- Activating your products
- Activating your products
- Red Gate bundle history
- Check for updates
- Troubleshooting Check for Updates errors
- Current versions
- Deactivating your products
- Installing Red Gate products from the .msi file
- Requesting additional activations
- Serial numbers for bundles
- Reactivating using a different serial number
- Extending your trial
- Finding your serial numbers
- Moving a serial number from one computer to another
- No response received for manual activation
- Licensing and activation resources
- Licensing and activation resources
- Troubleshooting licensing and activation errors
- Licensing and activation FAQs
- Red Gate tools log file locations
- Download old versions of products
- Download product prerequisites & utilities
- Support & upgrades
- Upgrading your software
- Upgrading FAQs

Step by step examples