Microsoft SQL Server on Apple Silicon ARM64 Mac
How to run a Microsoft SQL Server instance on Apple Silicon macOS using Docker.

Have you ever wanted to develop a web app on your Apple Silicon Mac (M1, M2, and so on …) that uses Microsoft SQL Server as its database engine? I often do that when working on ASP.NET apps, since they’re commonly paired with SQL Server. Most of the time, I can just use a remote SQL Server instance for development. But sometimes I need to run one locally.
Unfortunately, Microsoft SQL Server doesn’t officially support ARM64 macOS.
Sure, there are official SQL Server Docker containers, but they’re built for x86_64 only. If you try to run them on Apple Silicon, they’ll be emulated with Rosetta 2, which leads to poor performance.
Fortunately, there’s another Microsoft product that runs similarly to SQL Server and supports ARM64 macOS: Azure SQL Edge.
But, there’s a catch: Microsoft has announced that Azure SQL Edge is being retired. That said, it still works perfectly fine for now, and is suitable for development use.
Let’s set it up!
Running Azure SQL Edge on macOS (ARM64)
First, create a new directory and an empty compose.yaml file:
mkdir ~/demo/
cd ~/demo/
touch compose.yaml
Then open compose.yaml with your favorite editor (e.g., Visual Studio Code) and paste the following Docker Compose configuration:
name: mssql-server-service
services:
mssql-server:
# MSSQL Server image isn't available for ARM64, so we use Azure SQL Edge instead.
# The latest ARM64 version is v1.0.7
image: mcr.microsoft.com/azure-sql-edge:1.0.7
restart: unless-stopped
container_name: mssql-server
ports:
- 1433:1433
# - 127.0.0.1:1433:1433 # Use this to restrict access to localhost only
environment:
ACCEPT_EULA: 1
MSSQL_SA_PASSWORD: yourStrong(!)Password
MSSQL_PID: Developer
Make sure to replace MSSQL_SA_PASSWORD with your own strong password.
If you want to limit SQL Server access to localhost only, replace the ports line with 127.0.0.1:1433:1433.
Once you’re done, save the file and run:
docker compose up -d
Your SQL Server instance will now be available on $IP_ADDRESS:1433.
Testing the Connection
If you’re using Visual Studio Code, you can test the connection with the official SQL Server (mssql) extension.
Once installed, open the SQL Server sidebar in VS Code. When prompted, enter the following connection details:
- Profile Name:
sqlserver - Server Name:
127.0.0.1(or your Mac’s IP address) - Authentication Type:
SQL Login - User Name:
sa - Password:
yourStrong(!)Password(or the one you set forMSSQL_SA_PASSWORD) - Encrypt:
Optional
Click Connect to start the connection.

After creating a connection, right-click on it and choose New Query.

A new empty document will appear. Try running a simple SQL query:
SELECT * FROM master.sys.databases
Click Execute Query.
If everything is set up correctly, you’ll see a list of all available databases on your Azure SQL Edge instance.

And that’s it. You now have a working SQL Server–compatible database on your Apple Silicon Mac!
The next step is just to have fun with it!
Known Issues
- Volume mounting does not work properly on Docker for Mac ARM64. Be sure to back up your data before stopping or removing the container (e.g., when using
docker compose down). - Beginning September 30th, 2025, Microsoft will retire Azure SQL Edge. By the time I updated this tutorial, it’s already retired. It’s still fine for local development, but we’ll eventually need a native ARM64 replacement, since the official SQL Server image only supports x86_64.
Conclusion
As usual, if you have any questions or a better method, leave a comment below. Thanks for reading, and see you next time!


