The guide provides step-by-step instructions to walk you through the process of:
dbForge Source Control is a Microsoft SQL Server Management Studio (SSMS) add-in designed to manage database changes in the best-known version control systems. With the help of the tool, you can version-control database schemas and data, roll back unwanted changes, handle static data conflicts, and maintain the integrity of the database. Via Source Control, you can link your database to Git, a distributed version control system. Git is aimed at coordinating the work of multiple developers and provides non-linear workflow.
When dbForge Source Control connects to a Git repository, is the connection secure? In other words, is TLS enabled?
dbForge Source Control connects to Git using the standard Git client for Windows, which supports current security protocols, including TLS 1.2. Secure connections are established when the server both supports them and requires them. For instance, if a repository’s address begins with HTTPS and the server stipulates TLS, the connection will comply with these security requirements. The choice of security protocol is determined by the server’s configuration, not by dbForge settings.
Note
dbForge Source Control v2.2 and later support Git for Windows client version 2.28.0 and higher. You can check the Git version using the
git --version
command. Thanks to it, you can work with all possible connection and authentication types, as this task is delegated to the Git client. Before trying to connect your database to Git, make sure that you have Git for Windows client installed on your machine.
See the following how-to topics to learn how to clone a remote repository and link a database to a Git repository in:
dbForge Source Control doesn’t directly work with local or remote repositories – only through a clone. Therefore, you will need to create a local Git repository and then clone it.
For this, perform the following steps:
1. Create two empty folders on the disk of your computer where the local repository will be stored.
2. Start Windows Command Prompt (CMD).
Note
To navigate to the folder where the main local repository will be located, in the Command Prompt, use the
cd
command.
3. Type git init --bare
to create the main repository locally.
4. Navigate to the second folder and clone the local repository you have just created using git clone <pathToMainRepo>
. Make sure to place a dot at the end of the command to clone the repository to the folder you have created. Otherwise, another subfolder will be created.
Note
<pathToMainRepo>
is the path to the main repository you created locally when executing thegit init --bare
command.
5. Execute these CMD commands in the folder in question:
git commit --allow-empty -m initial
to make an initial commitgit push
to push the changes to the remote repository6. Link dbForge Source Control to the folder with the cloned repository.
It is also possible to automate the cloning of a Git repository executing the .bat file with the script from the command line. The script will clone the repository, make an initial commit, and push the changes to the repository.
To do this, perform the following steps:
1. In a text editor, enter the following script to create a batch file to clone the repository:
:: Change DatabaseName to your database name; it will be the repository folder name.
set _database=DatabaseName
:: Change _main if desired; it will be the folder for the main repository.
set _mainfolder=_main
:: Please do not change the following variables and commands.
set _maindir=%_mainfolder%\%_database%
:: Create the main folder to store the main repository.
md %_mainfolder%
:: Create a subfolder under the main folder with the name of the database.
md %_maindir%
:: Navigate to the subfolder.
cd %_maindir%
:: Initialize the main repository (it will be empty).
git init --bare
:: Go back to the root directory.
cd ..\..
:: Clone the main repository, creating a folder with the name of the database.
git clone %_maindir%
:: Navigate to the cloned folder.
cd %_database%
:: Run git commands in the cloned folder.
git commit --allow-empty -m initial
git push
set _path=%cd%
:: Print the repository folder for reference.
echo Cloned repo folder: %_path%
cd ..
pause
Note
Replace
DatabaseName
with the actual database name. This folder will be your repository.Optional: Change the name of the main repository folder -
_main
.Do not change the following variables and commands:
%_mainfolder%
and%_database%
.
2. Save the file with a .bat extension in the folder that will store the repositories.
3. Run the script.
Next, navigate to the folder that stores the repositories. In our example, it is D:\git_SQL
. As you can see, the following folders have been created:
After the repository has been cloned, you can link dbForge Source Control to that folder. To do this, perform the following steps:
Note
In our example, we’ll link the BikeStores database to the repository.
1. In Object Explorer, right-click the database you want to link to source control and select Source Control > Link Database to Source Control.
2. In the Link Database to Source Control dialog that opens, click + in the Source control repository field to open the Source Control Repository Properties dialog.
3. In the dialog that opens, do the following:
4. Click OK to close the Source Control Repository Properties dialog.
5. In the Link Database to Source Control dialog, select a database development model and click Link.
6. After the refresh operation, Source Control Manager opens, displaying the local changes, which you can commit to the repository.
Additionally, watch this video to learn more about how to create a local Git repository and link your database to it using Source Control.
This video explains how to collaborate on the same database project using dbForge Source Control for SQL Server. The video provides the case where two developers try to push database changes to a Git remote repository simultaneously.
To learn more about versioning SQL databases linked to Git, you can refer to the following pages: