Introduction to dbForge Source Control

dbForge Source Control is a convenient SSMS add-in that allows version-controlling database schemas and static table data in the following version control systems and servers such as Azure DevOps Server (previously known as TFS), Apache Subversion (SVN), TFVC, Git (including GitHub, GitLab, and Bitbucket), Mercurial (Hg), Perforce (P4), and SourceGear Vault.

What tasks dbForge Source Control for SQL Server performs

dbForge Source Control allows you to do the following:

  • Commit changes to a source control repository
  • Identify what changes were made, who was the author of the commit, when the commit was created, and see the comment describing the commit
  • Detect, view, and resolve conflicts
  • Get the latest changes from the remote repository
  • Link and unlink static data
  • Track the history of changes
  • Switch between branches
  • Merge branches
  • Associate commits with GitHub and TFS issues
  • Work on the same database and have the latest database copy when choosing a shared database development model in dbForge Source Control
  • Work on the cloned copy of the database locally when choosing a dedicated database development model in dbForge Source Control
  • Script changes to a working database folder
  • Undo the changes

Note

You can undo the changes that were made in the database linked to the remote repository but have not been committed yet.

In addition, static data changes, dropped data, and NOT NULL columns cannot be undone either.

How dbForge Source Control works

You link a database or static data to a remote repository or working folder and can start making changes to the database objects. After that, the tool compares the current database copy with the version in source control and detects the differences. They are displayed at the bottom pane of Source Control Manager. If you want to commit the changes, you select the ones in the Local Changes section, write a comment in the corresponding text box, and commit the changes to the remote repository. In this case, source control repository will be updated with your changes. If you want to discard the changes that have been made in the database linked to the source control repository but have not been committed yet, you can use the Undo operation.

If someone also made the changes to the database you are working on (if you both use a dedicated development database model), then after a refresh you can view the differences in the bottom panes of Source Control Manager. In case, you want to update your local copy with those changes, you should select the changes in the Remote Changes section and click Get Latest. In this case, your local copy of the database will be updated with the remote changes.

If you face conflicts that are displayed in the Conflicts section of Source Control Manager, you can resolve them by getting the local or remote changes. Depending on your choice, you can update the copy with the remote changes (if selected Get Remote) or overwrite the remote changes (if selected Get Local).

When it comes to version-controlling static data, you link your static data to version control, modify this data, commit the changes, and resolve conflicts if any. In addition, you can view the changes to data in the bottom grid.

You can also view the changes history to see who committed the changes, when, and why, as well as view and compare differences of both versions.

dbForge Source Control generates a SQL script per object or static data and groups .sql files in the same categories as in version control.

Benefits of dbForge Source Control

dbForge Source Control is endowed with the usual features that can be found in any source control solution. However, it also boasts such additional benefits:

Efficiency and Scalability

As a company grows, the development team grows along with it. This inevitably creates a diverse but geographically distributed staff working on the same project. Consequently, rises a need to centralize and coordinate the fast-paced development process.

This is when dbForge Source Control steps in and eliminates any possible confusion or miscommunications inside the team. Moreover, it will spare the development process stagnation and interruptions. Source control dramatically simplifies the management, enabling developers to work faster and more efficiently, and making complex processes more automatable and repeatable.

Cost of Ownership

The cost of ownership often varies among different source control systems. However, high cost does not always guarantee the highest quality. Occasionally, it is rather challenging to identify the one that is easier to use, faster to learn, and implement. dbForge Source Control was designed with the users’ convenience in mind. The solution makes it easy to integrate source control into your DevOps without compromising quality, performance, or reliability.

Adjustability and Flexibility

No matter what development style you choose, dbForge Source Control for SQL Server will suit your needs. It supports two models for database development: Dedicated and Shared.

  1. Dedicated model allows developers to work with their own copies of the database.
  2. Shared model suggests that all developers work on a single shared database.

Regardless of the choice of the database development model, the tool ensures safe and convenient data change management.

Risk-Free Work

When it comes to development, the main priority is always its product, the intellectual labor fruits of the entire team. Unfortunately, drawbacks and data losses do happen occasionally. It is critical to have a plan for emergencies.

dbForge Source Control helps you ensure the data is safe and secured. Check a full revision history of a database or a certain database object to see the changes made as well as who, when, and why made them. Also, you always can revert any unwanted changes with dependency awareness.