Migrate to Innovate Summit:
Learn how migrating and modernizing to Azure can boost your business's performance, resilience, and security, enabling you to fully embrace AI.Register now
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
This article provides an overview of the local development experience tailored for Azure SQL Database.
Overview
The Azure SQL Database local development experience is a combination of tools and services that empowers application developers and database professionals to design, build, validate, and publish database schemas for databases while working offline.
The following diagram illustrates the inner and outer loop processes in the development lifecycle, highlighting how developers interact with Azure SQL Database both locally and in the cloud:
Let's understand both the inner and outer loop in detail:
Inner loop
The inner loop represents the local development cycle. It's where developers write code, test it, and debug it on their local machines.
During this phase, developers interact with a local instance of SQL Database. They can quickly iterate on their code with immediate feedback, without needing to deploy changes to the cloud.
The goal of the inner loop is to enable rapid development and testing in an isolated environment that closely mimics the production setup.
Outer loop
The outer loop encompasses the broader development lifecycle, including collaboration, continuous integration, and deployment to production.
Changes made in the inner loop are pushed to a shared repository, such as a GitHub repository, where they can be reviewed, tested, and merged.
From the repository, automated workflows (for example, through GitHub Actions or GitHub Codespaces) build and deploy the application, including any database changes, to Azure services.
In the outer loop, the application and database are deployed to Azure, where they can be accessed and used in a live environment.
Tools and extensions
To streamline the local development experience, several tools and extensions are available. The following table provides a high-level overview of these options, each tailored for different aspects of the development lifecycle.
Allows capturing existing database schemas, designing new objects using a declarative model, committing schemas to version control, and publishing to databases.
Dev containers offer a streamlined, preconfigured development environment for Azure SQL Database, eliminating the need for manual setup. These containers enhance productivity by ensuring that all necessary tools and dependencies are available right from the start.
Developers can utilize dev containers to quickly start coding in environments that mimic the Azure SQL Database setup, promoting consistency across local and cloud development. This approach not only accelerates the development process but also reduces errors and ensures a smooth transition from local development to production deployment.
Learn how to create and configure an Azure SQL Database. You'll use SQL Database Projects in VS Code, including installing the extension, importing, and modifying a schema. Additionally, you'll build and deploy database projects in GitHub Actions and Azure Pipelines, and automate and invoke the publishing of a database.
Administer an SQL Server database infrastructure for cloud, on-premises and hybrid relational databases using the Microsoft PaaS relational database offerings.
Drew Skwiers-Koballa shows Scott Hanselman a new option for developing with Azure SQL Database: The Azure SQL Database emulator, which is a containerized database for a desktop dev experience. Use your favorite client OS and dev tools for cloud development without the cloud. Chapters 00:00 - Introduction 02:54 - Modern microservices-demo application overview 04:10 - Database Projects and Integration with VS Code 15:43 - Deployment using GitHub Actions 18:46 - Wrap-up Recommended resources What is the loc