What runs locally runs in Azure
It is the Azure SQL Database engine itself, with the same defaults, the same T-SQL, and the same error messages. When you deploy to the Microsoft Azure cloud, there are no behavior surprises.
Private Preview
Build and test against the same engine you run in the Microsoft Azure cloud. Try Azure SQL Database before you deploy, and run your tests in CI. Free for local development. No Azure subscription, no credit card.
docker pull to your first queryWhy the container
This is the Azure SQL Database engine itself, running locally, for development. Build in your local inner loop, then deploy the same code to Azure SQL Database in the Microsoft Azure cloud for production.
It is the Azure SQL Database engine itself, with the same defaults, the same T-SQL, and the same error messages. When you deploy to the Microsoft Azure cloud, there are no behavior surprises.
Native vector type, VECTOR_DISTANCE search, AI_GENERATE_EMBEDDINGS, and CREATE EXTERNAL MODEL (DiskANN vector indexes are in development). Build RAG locally with a local model, then switch to Azure OpenAI in the cloud.
Same drivers, same T-SQL, same migrations. When you are ready, point the connection at Azure SQL Database and deploy the same app to the Microsoft Azure cloud. The application does not change.
Quickstart
New to containers? Sign up for the Private Preview to get your registry credentials, then sign in, start the container, and run your first query. The credentials are pull-only and may be rotated during the preview.
Signing up is how you get the registry username and password. Sign up →
Use the username and password you received when you signed up.
$ docker login sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io -u <username>
$ podman login sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io -u <username>
$ nerdctl login sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io -u <username>
Run it on port 1433 with a strong SA password. On a non-x64 host, add --platform linux/amd64 to the run command (see Getting started).
$ docker run --name sqldb -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStr0ng_Passw0rd" \
-p 1433:1433 -d sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io/azure-sql/db-dev:latest
$ podman run --name sqldb -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStr0ng_Passw0rd" \
-p 1433:1433 -d sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io/azure-sql/db-dev:latest
$ nerdctl run --name sqldb -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStr0ng_Passw0rd" \
-p 1433:1433 -d sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io/azure-sql/db-dev:latest
No host install needed: the container bundles sqlcmd. Run your first query with exec.
$ docker exec sqldb /opt/mssql-tools18/bin/sqlcmd \
-S localhost -U sa -P "YourStr0ng_Passw0rd" -C -Q "SELECT @@VERSION;"
$ podman exec sqldb /opt/mssql-tools18/bin/sqlcmd \
-S localhost -U sa -P "YourStr0ng_Passw0rd" -C -Q "SELECT @@VERSION;"
$ nerdctl exec sqldb /opt/mssql-tools18/bin/sqlcmd \
-S localhost -U sa -P "YourStr0ng_Passw0rd" -C -Q "SELECT @@VERSION;"
Want your AI agent to set it up, or prefer the full step-by-step? Read the full Get started guide →
Built for AI-assisted development
Point your agent at Azure SQL Developer and let it scaffold the schema, write the migrations, and build the data layer against a real local database. The repo ships 13 ready-to-use agent skills.
App, CLI, and VS Code
Container skill included
Terminal and IDE
AI-native editor
Install the agent skills once. They work across Claude Code, GitHub Copilot, Codex, and Cursor, then you just ask your agent in plain English.
Each skill carries layered knowledge and can optionally reach the public Microsoft Learn MCP for the current docs and schemas on demand.
$ npx skills add microsoft/azure-sql-database-container
Use cases
The everyday jobs a cloud-only database makes slow or expensive. Pick one, copy the prompt, and let your AI agent build it against Azure SQL Developer.
Convert a project on the mcr.microsoft.com/mssql/server SQL Server image to the Azure SQL Database engine: swap the image, fix the connection model, and flag SQL Server-only features. Azure-faithful local dev.
Develop and test at local-disk speed with no cloud round trip, then deploy the same code to Azure SQL Database. Lift and shift is a connection-string change.
Build vector search and embeddings against a local database with a local model like Ollama, then switch to Azure OpenAI in the cloud. No cloud spend while you experiment.
Spin the container up as a service in GitHub Actions or Azure Pipelines. Real end-to-end tests, with no Azure subscription and no shared-instance flakiness.
Run demos, classes, and workshops with no internet. After the first pull, the container runs fully offline on a laptop.
Add SQL Database to a docker compose stack or a Dev Container as a sidecar service, wire-compatible with the drivers and ORMs you already use.
Start a new .NET Aspire, FastAPI, Next.js, or NestJS project with Azure SQL Database as the default local development resource.
Generate a no-code REST and GraphQL API over the local engine with Data API Builder. Point it at your tables, and get an MCP endpoint from the same config too.
Build an Azure Functions HTTP API with the Azure SQL bindings, and react to row changes locally with the SQL trigger (Change Tracking). No cloud services required.
Get involved
Your bugs and feature requests set the priorities. Reach the team directly, or pick the channel that fits your question.