SQL Server on Linux and Containers

51.1 SQL Server on Linux (2017+)

Supported on RHEL, SLES, and Ubuntu. SQLPAL (Platform Abstraction Layer).

Not supported on Linux: FILESTREAM, distributed transactions (now partially supported), some replication types, SSAS, SSRS.

HA on Linux uses Pacemaker for AGs and FCIs.

sudo apt-get install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 8192
systemctl status mssql-server

51.2 Docker Containers

Use persistent volumes. Docker Compose for dev stacks.

Kubernetes: StatefulSets, persistent volume claims, and the DH2i/Arc operators for AGs.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<StrongP@ss1>" \
  -p 1433:1433 --name sql2025 -v sqldata:/var/opt/mssql \
  -d mcr.microsoft.com/mssql/server:2025-latest
docker exec -it sql2025 /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -C