Previously the only way to run SQL Server on Apple Silicon was via QEMU emulation or Colima (hat tip to Anthony Nocentino).
Docker released beta support today for Apple’s Rosetta 2 x86 emulation layer, which means you can run SQL Server on Apple M1 or Apple M2 silicon using this option.
- Download and install the latest Docker for Apple Silicon
- Once Docker Desktop is running, open the Dashboard and go into Settings
- Find the “Features in development” option, and select the “Use Rosetta for x86/amd64 emulation on Apple Silicon” checkbox
- Restart the Docker engine
- Follow the instructions on Quickstart: Run SQL Server Linux container images with Docker to install SQL Server
- You can ignore the warning that the “requested image’s platform (linux/amd64) does not match the detected host platform”
How’s the performance?
I have an M1 Max MacBook Pro with 64 GB RAM. Using scripts from my Temporal Tables presentation, performance was about the same as my last Intel-based MacBook Pro, which had 64 GB RAM as well. This matches my previous experience with Rosetta 2 emulation in general. This also means that Anthony Nocentino should see similar results using Colima.
Full disclosure: I work for Microsoft on the Database Docs team. This technique is not officially supported by Microsoft.