Running a full-featured Microsoft SQL Server on a Mac used to be a headache, but as of 2026, it is smoother than ever. Thanks to improvements in Docker Desktop and macOS’s Rosetta 2 translation, you can now run the enterprise-grade engine (including the new SQL Server 2025 Preview) directly on your M1, M2, M3, or M4 Mac.
This guide will walk you through setting up a modern SQL Server environment from scratch.
Step 1: Install Rosetta 2 (The Translator)
Before we touch Docker, we need to ensure your Mac can “speak” Intel.
Because there is no native version of the full SQL Server engine for Apple Silicon chips (it only supports Intel), we must use Rosetta 2. This allows your Apple Silicon chip to run apps built for Intel processors, effectively “translating” the SQL Server instructions so they can run on your Mac.
Open your Terminal and run:
softwareupdate --install-rosetta --agree-to-license
Note: If you’ve run Intel apps before, you might already have this, but running the command again won’t hurt.
Step 2: Install Docker Desktop (The Foundation)
Since there is no native “SQLServer.app” for macOS, we need a way to host the Linux version of SQL Server on your machine. Now that your Mac is ready to translate Intel instructions via Rosetta, we can set up Docker Desktop. This is the container engine that acts as the foundation for your database.
- Download Docker: Visit the Docker Desktop for Mac page and choose the Apple option. This reads Download for Mac – Apple Silicon at the time of writing. Alternatively, you can use Docker Documentation page for installing Docker on a Mac, which provides more information about the download.
- Install: Double click the
.dmgfile. Once expanded, drag Docker to your Applications folder and launch it. - Enable Rosetta Emulation: SQL Server is built for Intel (x86_64) chips. To run it on Apple Silicon, you must enable Rosetta translation (this is why we installed Rosetta 2 earlier):
- Open Docker Settings (gear icon) > General.
- Check “Use Virtualization Framework”.
- Check “Use Rosetta for x86_64/amd64 emulation on Apple Silicon”.
- Click Apply & Restart.
It’s possible that this setting was already checked, but it pays to check 🙂
Also, it might take a minute or two for Docker to restart. Look for the whale icon in your top menu.
Step 3: Choose Your Image (2025 vs. 2022)
In 2026, you have two primary choices.
- SQL Server 2025 Preview: Includes cutting-edge features like Native Vector Data Types and AI-ready functions. However, given it’s a preview, it may occasionally crash on macOS due to strict AVX hardware requirements.
- SQL Server 2022: This version is stable and proven to work perfectly with Rosetta emulation.
To pull your chosen image, run one of these in Terminal:
# For the latest 2025 Preview
docker pull mcr.microsoft.com/mssql/server:2025-latest
# For the stable 2022 version
docker pull mcr.microsoft.com/mssql/server:2022-latest
If you’re reading this at a later date, when another version is available, feel free to pick that.
Step 4: Launch the Container
Run the following command to start your server. Replace YourStrong#Password123 with a password that includes an uppercase letter, lowercase letter, number, and special character.
docker run --platform linux/amd64 -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStrong#Password123" -p 1433:1433 --name sql_server_2025 -d mcr.microsoft.com/mssql/server:2025-latest
(Change the last line to :2022-latest if you prefer the stable version).
When you first execute the docker run command, your SQL Server starts automatically. You don’t need to do anything else before connecting.
If you restart your Mac or use docker stop sql_server_2025 to save power, you can jump back in later by simply running docker start sql_server_2025. This wakes up your existing database without you having to re-type the long installation command.
Step 5: Connect and Query
Now that SQL Server is up and running on your Mac, you can connect to it using your favorite SQL tools. One of the most popular tools is VS Code. If you don’t already have VS Code installed, here’s a quick guide:
- Install VS Code: Download it from code.visualstudio.com.
- Add the Extension: Search for and install the SQL Server (mssql) extension.
- Connect:
- Server:
localhost,1433 - Authentication:
SQL Login - User:
sa - Password: Your chosen password.
- Trust Server Certificate: Check the box to enable it (Required for local containers).
- Server:
If you use a different tool, you can connect using the same parameters listed here.
Once connected, you can run a quick query to check that it worked. For example:
SELECT @@version;
That query returns the version of SQL Server that you installed.
Troubleshooting & Tips
Here are some tips to help you in troubleshooting and optimizing the SQL Server installation on your Mac:
- Performance: If the server feels sluggish, increase Docker’s resource allocation in Settings > Resources to at least 4GB of RAM. If it’s already at that setting, try increasing it further.
- Stopping/Starting: Use
docker stop sql_server_2025when you’re done to save battery, anddocker start sql_server_2025to pick up where you left off. - Time Zones: Use the
TZenvironment variable to match your local clock. For example, add-e "TZ=America/New_York"(replace with your TZ identifier) to your container startup command (thedocker runstep). This ensuresGETDATE()returns your actual local time, not UTC. - Health Check: Use
docker logsto see exactly when the engine is ready. Sometimes a container looks “Up” in Docker Desktop, but the SQL engine inside is still initializing. This can lead to “Connection Refused” errors if you try to connect too quickly. You can use the commanddocker logs -f sql_server_2025in your terminal right after starting. Once you see the line “SQL Server is now ready for client connections” you know it’s safe to switch to VS Code and start querying. - Handling Port Conflicts: If you ever need to run two different versions of SQL Server (like 2022 and 2025) at the same time, you can’t have both on port 1433. Fortunately, you can map a different “external” port to the “internal” 1433. For example, change
-p 1433:1433to-p 1434:1433. Then, in VS Code, just connect tolocalhost,1434.
Why not SQL Edge?
In previous years, many Mac guides (including my one here) recommended Azure SQL Edge because it had a native ARM64 version. However, things have changed:
- Retired in 2025: Microsoft officially retired Azure SQL Edge on September 30, 2025. It is no longer receiving security updates or new features.
- Missing Features: Even before retirement, SQL Edge was a “lightweight” engine designed for IoT. It lacked the full .NET CLR runtime, meaning essential T-SQL functions like
FORMAT()simply didn’t work. - The Future is Full SQL: By following the Docker/Rosetta method, you get the actual enterprise-grade engine (2022 or 2025) with 100% feature parity. This ensures your local Mac environment perfectly matches the production servers you’ll be working with in the real world.