Published: 2026-03-07
How to Run SQL Server on macOS
Mac developers working with SQL Server have several options in 2026, from lightweight Docker containers to full Windows VMs. This guide covers each approach — what works, what doesn't, and which one you actually need.
Option 1: Azure SQL Edge via Docker (Easiest)
The quickest way to get SQL Server running on a Mac, including Apple Silicon (M1/M2/M3/M4). Azure SQL Edge runs natively on ARM64, so there's no emulation layer and performance is excellent.
Setup
- Install Docker Desktop for Mac if you don't have it already
- Pull and run the Azure SQL Edge container:
docker run -e "ACCEPT_EULA=1" -e "MSSQL_SA_PASSWORD=YourStr0ngP@ss" \ -p 1433:1433 --name azuresqledge \ -d mcr.microsoft.com/azure-sql-edge
That's it. You now have a SQL Server-compatible engine running on port 1433. Connect from Jam SQL Studio (or any SQL client) using:
- Server: localhost
- Port: 1433
- Username: sa
- Password: YourStr0ngP@ss
What Azure SQL Edge Supports (and What It Doesn't)
Azure SQL Edge is based on the SQL Server engine but is designed for IoT and edge scenarios. It covers the vast majority of what developers need day-to-day, but it's not a complete SQL Server installation.
Supports
- T-SQL queries, stored procedures, views, triggers
- Indexes (clustered, non-clustered, filtered, columnstore)
- Transactions and ACID compliance
- JSON functions and temporal tables
- Most data types (including spatial)
- TLS encryption for connections
- Database snapshots and backup/restore
Does NOT Support
- SQL Server Agent (scheduled jobs)
- Replication
- Full-Text Search
- PolyBase
- Machine Learning Services
- SSIS, SSRS, SSAS
- Linked Servers
- Cross-database queries
- CLR integration
- Service Broker
For most development work — writing queries, building schemas, testing application logic, optimizing performance — Azure SQL Edge is sufficient. If you need any of the features listed above, or you require exact production parity, you'll want full SQL Server.
Option 2: Full SQL Server via Parallels + Ubuntu x86 (Full Compatibility)
When you need the complete SQL Server engine with all features, the best approach on a Mac is to run it inside a Linux VM.
- Install Parallels Desktop on your Mac
- Create an Ubuntu x86_64 VM — Parallels can run x86 Linux on Apple Silicon via Rosetta 2 translation. Select the x86_64 architecture when creating the VM
- Install SQL Server on Ubuntu following Microsoft's standard Linux installation docs
- Connect from your Mac using the VM's IP address and port 1433
Performance is good for development. Rosetta 2 translation adds some overhead, but it's remarkably efficient — query execution and schema operations feel responsive. This setup gives you the full SQL Server engine: Agent jobs, Replication, Full-Text Search, and everything else that Azure SQL Edge lacks.
To connect from Jam SQL Studio on your Mac, use the VM's IP address (visible in Parallels network settings or by running hostname -I inside the VM) with port 1433.
Option 3: Windows ARM VM for SSMS (Full Windows Dev Experience)
If you specifically need SSMS (SQL Server Management Studio) or other Windows-only tools, you can run Windows inside a VM.
- Install Parallels Desktop on your Mac
- Create a Windows 11 for ARM VM — Parallels makes this straightforward with a guided setup
- Install SSMS inside the Windows VM — it runs via x86 emulation on Windows ARM
- Connect to your SQL Server instance (Azure SQL Edge on the Mac host, the Ubuntu VM, or a remote server)
This gives you the complete Windows SQL Server development experience, including SSMS with all its features. However, running a full Windows VM uses significant RAM and disk space.
Worth noting: Jam SQL Studio on macOS covers most of what SSMS provides — execution plans, schema compare, IntelliSense, table designer, scripting, and AI agent support. Unless you need a SSMS-specific feature, you may not need the Windows VM at all.
Which Option Should You Choose?
Here's a quick decision guide:
- Just need to write and test SQL? → Azure SQL Edge + Jam SQL Studio. Five minutes to set up, covers 90% of use cases.
- Need full SQL Server features (Agent, Replication, Full-Text Search)? → Parallels + Ubuntu x86. Full engine, all features, good performance via Rosetta 2.
- Need SSMS specifically? → Parallels + Windows ARM. Complete Windows experience, but heavy on resources.
- Most developers? → Start with Azure SQL Edge. You can always add a full SQL Server VM later if you hit a limitation.
For all three options, Jam SQL Studio is the SQL client on the Mac side. It connects to any of these SQL Server instances and provides execution plans, schema compare, IntelliSense, data compare, charting, and AI agent support — all native on macOS.
Connecting with Jam SQL Studio
Once SQL Server is running (any method above), connecting from Jam SQL Studio takes about 30 seconds:
- Open Jam SQL Studio
- Click New Connection
- Enter
localhost:1433(for Docker) or the VM's IP address (for Parallels) - Enter your credentials (sa / your password for Azure SQL Edge)
- Click Connect
From there, everything works the same regardless of where SQL Server is running:
- IntelliSense — auto-complete for tables, columns, and T-SQL keywords
- Execution Plans — visual query plans with cost analysis and index suggestions
- Schema Compare — diff schemas between databases or environments
- Data Compare — compare row-level data between tables or databases
- Table Designer — create and modify tables with a visual editor
- Charts — visualize query results as bar, line, pie, and scatter charts
- AI Agent Support — connect Claude, Codex, or any MCP-compatible agent to your database
Whether you're connected to Azure SQL Edge in a Docker container, full SQL Server on an Ubuntu VM, or a remote production server — the experience is identical.
The Best SQL Server Client for Mac
Jam SQL Studio connects to Azure SQL Edge, SQL Server on Linux, and SQL Server on Windows. Execution plans, schema compare, and AI support — all native on macOS.
Jam SQL Studio