Version control tools for SQL Server
List of source version control tools .
State-based tools - generate the scripts for database upgrade by comparing database structure to the model (etalon).
Migration-based tools - help/assist creation of migration scripts for moving database from one version to next.
Visual Studio - SQL Server Data Tools
Visual Studio supports SQL Server Data Tools (SSDT) that includes a Schema Compare utility that you can use to compare two database definitions. The source and target of the comparison can be any combination of a connected database or SQL Server database project. The comparison results appear as a set of actions that must be taken with the target to make it the same as the source. Once the comparison is complete you can update the target directly or generate an update script that has the same effect.
Generate change script: | |
---|---|
Runs on: (for desktop): | Mac OS,Windows |
Type: | State-based tools |
Repositories: | - |
Commercial: | Commercial |
Free edition: |
Redgate SQL Source Control
Redgate SQL Source Control enables version control schemas and reference data, roll back changes, and maintain the referential integrity of your database. You can manage pre & post deployment scripts within SQL Source Control to automate SQL changes when deploying.
Generate change script: | |
---|---|
Runs on: (for desktop): | Windows |
Type: | State-based tools |
Repositories: | Database |
Commercial: | Commercial |
Free edition: |
dbForge Source Control
dbForge Source Control is a convenient SSMS add-in for SQL Server database change management in popular version control systems, including Git (including GitHub), TFS, SVN, Mercurial. The tool allows version-controlling database schemas and reference data, roll back changes, and maintain the referential integrity of your SQL databases.
Generate change script: | |
---|---|
Runs on: (for desktop): | Windows |
Type: | State-based tools |
Repositories: | File |
Commercial: | Commercial |
Free edition: |
ApexSQL Source Control
ApexSQL Source Control is a Microsoft SQL Server Management Studio add-in, which integrates source control with SQL Server database development. It allows to source control SQL databases and objects directly from inside SSMS. The tool quickly setup source control connections and filter objects that will be version controlled.
Generate change script: | |
---|---|
Runs on: (for desktop): | Windows |
Type: | Migration-based tools |
Repositories: | Database |
Commercial: | Commercial |
Free edition: |
DB Ghost Change Manager
DB Ghost Change Manager includes tools that allow you to script out your databases into individual DROP/CREATE scripts, place those scripts under source control, modify them there and then build and deploy from those scripts. Once a database has been successfully scripted and placed under source control it can then be regarded as the "source database".
Generate change script: | |
---|---|
Runs on: (for desktop): | Windows |
Type: | State-based tools |
Repositories: | Database |
Commercial: | Commercial |
Free edition: |
Version SQL
VersionSQL is the straightforward SQL Server version control add-in. It's made to do one thing and do it well: Commit SQL to Git and Subversion source control repositories. It enables hassle-free change tracking for stored procedures, views, table schema, etc. by checking them into your source control repository.
Generate change script: | |
---|---|
Runs on: (for desktop): | Windows |
Type: | State-based tools |
Repositories: | Database |
Commercial: | Commercial |
Free edition: |
Liquibase
Liquibase is an open source database-independent library for tracking, managing and applying database schema changes. It has the ability to roll changes back and forward from a specific point. It makes it easy to define database changes in a format that's familiar and comfortable to each user and then automatically generates database-specific SQL for you.
Generate change script: | |
---|---|
Runs on: (for desktop): | Linux,Mac OS,Windows |
Type: | - |
Repositories: | - |
Commercial: | Free |
Free edition: |
Flyway
Flyway provides version control for your database so you can migrate it with ease and confidence. Migrations can be written in SQL (database-specific syntax (such as PL/SQL, T-SQL, ...) is supported) or Java (for advanced data transformations or dealing with LOBs).
Generate change script: | |
---|---|
Runs on: (for desktop): | Linux,Mac OS,Windows |
Type: | Migration-based tools |
Repositories: | File |
Commercial: | Commercial |
Free edition: |
FluentMigrator
FluentMigrator is a migration framework for .NET. Database schema changes are described in classes written in C# that can be checked into a version control system.
Generate change script: | |
---|---|
Runs on: (for desktop): | Windows |
Type: | Migration-based tools |
Repositories: | File |
Commercial: | Free |
Free edition: |
Ruby on Rails Migrations
Ruby on Rails Migrations enables to use Ruby for defining database schema changes, which makes it convenient to use a version control system for maintaining synchronization with the actual code.
Generate change script: | |
---|---|
Runs on: (for desktop): | Linux,Mac OS,Windows |
Type: | Migration-based tools |
Repositories: | Database |
Commercial: | Free |
Free edition: |
Idera DB Change Manager
DB Change Manager puts the power of change tracking, schema comparison, software-generated synchronization scripts, and flexible reporting into the hands of DBAs and developers. It captures and compares schema differences between one or more archived or live databases, handles object dependencies and preserves data. It also generates alter scripts to sync selected objects or restore to a prior state.
Generate change script: | |
---|---|
Runs on: (for desktop): | Windows |
Type: | State-based tools |
Repositories: | Database |
Commercial: | Commercial |
Free edition: |
yuniql
yuniql is an open source schema versioning and migration tool made with .NET Core. Deploy fresh databases fast using plain-SQL, seed lookup tables and test data from CSV and run environment-specific migrations. yuniql is released as stand-alone .exe app (no CLR needed!), Azure DevOps Pipelines Tasks, .NET Core tool, nuget package and Docker container.
Generate change script: | - |
---|---|
Runs on: (for desktop): | Linux,Windows |
Type: | Migration-based tools |
Repositories: | - |
Commercial: | Free |
Free edition: |
DB Version Control
SSMS plugin to version control SQL Server database - tracks database changes and generates migrations for both schema objects and static data. Scripts schema objects and static data into individual files for change tracking. To be used with any version control system (GIT, TFS, SVN, etc.)
Generate change script: | |
---|---|
Runs on: (for desktop): | - |
Type: | - |
Repositories: | - |
Commercial: | Commercial |
Free edition: |
Apricot DB
Git based project/snapshot synchronization
Generate change script: | |
---|---|
Runs on: (for desktop): | Windows |
Type: | State-based tools |
Repositories: | - |
Commercial: | Free |
Free edition: |
GenMyModel
GenMyModel supports Versioning & Time Machine. Need to go back in time? Save major and minor versions of your models. Select which one to deliver. Track change history, take snapshots, reuse, merge and rebuild models.
Generate change script: | |
---|---|
Runs on: (for desktop): | - |
Type: | - |
Repositories: | - |
Commercial: | Commercial |
Free edition: |