Build your application using SQL Server DevOps tools

Use tools that help you integrate and deploy your database along your code. Build better apps on any client OS (Windows, Linux, and macOS) using our graphical user interface and command line tools.

Visual Studio SQL Server Data Tools - Easily build, debug, maintain, and refactor databases inside Visual Studio. This enables continuous integration and deployment for your databases in all phases of the development process. You can also use Redgate Data Tools: ReadyRoll Core, SQL Prompt Core, and SQL Search as part of data storage and processing workloads for Visual Studio.

mssql-scripter - Generate CREATE and INSERT T-SQL scripts for database objects in SQL Server, Azure SQL DB, and Azure SQL DW from the command line. You can edit the generated script or check it into source control and subsequently execute the script in your existing SQL database deployment processes and DevOps pipelines with standard multiplatform SQL command line tools such as sqlcmd.

sqlcmd - Enter Transact-SQL statements, system procedures, and script files in the command prompt. Now available on Linux, Windows and macOS, this utility can be leveraged to schedule database jobs like backup and restore operations through the use of T-SQL scripts. This will simplify database management in a DevOps pipeline.

bcp – Copy data between an instance of SQL Server and a data file in a specified format. Also available on Linux, Windows and macOS, as it is installed with SQLCMD. The bcp utility can be used to import large numbers of new rows into SQL Server tables or to export data out of tables into data files, which makes DevOps data operations effortless.

SQL Server Data Tools in your DevOps pipeline

Use Visual Studio 2017, SSDT, and SQL Server migration and state based database development approaches to make SQL development an integrated part of your Continuous Integration and Continuous Deployment (CI/CD) and Visual Studio Team Services (VSTS) DevOps pipelines.

Get Started Building Apps with SQL Server

Integrate SQL Server databases in your CI/CD pipelines

Continuous Integration and Continuous Deployment allows teams to be more efficient and SQL Server fits seamlessly into this pipeline. SQL Server Data Tools (SSDT) allows you to effortlessly design and deploy any SQL Server content type. Using SSDT you can easily integrate Application Lifecycle Management practices to database development. You can develop and manage your database in source control such as Git, automate build with continuous integration, and orchestrate releases with continuous deployment.

Automate Build and Deployment of Azure SQL Database with Continuous Integration and Continuous Deployment

A series of end-to-end scenarios of continuous integration and deployment. Learn how to integrate your Azure SQL Databases into a DevOps pipeline using SSDT, NuGet packages and Visual Studio Team Services.

Start by learning how to prepare your environment by getting the right tools for the job. After that, use Visual Studio to set up a Continuous Integration pipeline that builds your Azure SQL Database automatically.

Once the database setup process is ready, you can use NuGet packages to publish your database schema. Once your pipeline is ready, learn how to Azure SQL Database releases in your Continuous Deployment process. You can also learn how to create your own Deployment Agent to customize the behavior of the pipeline.

SQL Server in CI/CD Pipelines

This presentation shows how SQL Server in Docker containers can facilitate a DevOps CI/CD pipeline starting from a production environment. Defining the database dependency as another component of the application architecture, this presentation demonstrates how moving data and database binaries through development, test, and production environments can be a seamless process.

You can also watch the full video of this presentation from the Build Conference 2017.

Learn how to set up a Complete DevOps Solution with Visual Studio

Use SQL Server in Containers to deploy your solution

Using software containers simplifies the packaging and deployment of software by providing an encapsulated, executable environment that provides a consistent experience when delivering production-ready code. Containers also provide the benefit of optimizing the usage of compute resources, including CPU and memory consumption, due to the minimal overhead that ships on the runnable environments – only the necessary dependencies are shipped with each container.

We're providing SQL Server in Docker for both Linux and Windows Containers – which has been one of the most downloaded installation vehicles of SQL 2017. Running SQL Server in Docker can replace the traditional database service provisioning process and accelerate the speed of development.

In this scenario, the database dependency becomes another component of your application. In the development process, this simplifies updating SQL Server binaries and makes the database environment easy to share since the data can be packaged with them.

Get SQL Server in Docker containers from DockerHub

The following is an example of using SQL Server Containers to enable DevOps pipelines

SQL Server in DevOps using Containers

SQL Server is coming to Linux in the next major version of SQL Server. Having SQL Server in Linux containers makes it much easier for dev/test, CI/CD, and build automation pipelines. This session describes some of the common challenges currently faced in trying to use SQL Server in Linux containers and how to overcome them.

You can also contribute to the discussion by commenting on the mssql-Docker GitHub Repository.


Stay Updated!

  • Join the mailing list
  • Check out our SQL Server blog
  • Follow the @SQLServer Twitter
  • Read the SQL Server on Linux White Paper
  • Open Chat