Themenseite · SQL Server unter Linux und Docker

SQL Server unter Linux und in Docker: Dieselbe Engine, andere Fallen

Seit SQL Server 2017 läuft dieselbe Datenbank-Engine auch unter Linux und im Container. T-SQL, Ausführungspläne, Backups und SSMS funktionieren wie gewohnt, die Lizenz ist dieselbe. Anders ist alles, was um die Engine herum liegt: welche Distribution unterstützt ist, welche Funktionen fehlen, wie man den Dienst verwaltet und wie Hochverfügbarkeit ohne Windows-Cluster aussieht. Im Container kommen eigene Fallen dazu.

Stand 12.11.2026 · ca. 6 Minuten

Reihe Linux · DockerVersionen SQL Server 2017–2025
Dieselbe EngineT-SQL · Pläne · BackupsSQL Server EngineAndere Plattformandere FallenWindowsDienstkontoWSFCConfig ManagerLinuxsystemdPacemakermssql-confContainerImage-TagcgroupsSIGTERM

Diese Seite ordnet das Thema und führt in die Teile der Reihe. Unsere eigenen Messungen stammen alle aus Linux-Containern mit SQL Server 2017, 2019, 2022 und 2025. Was wir über Windows sagen, stammt aus der Dokumentation von Microsoft.

In 60 Sekunden

  • Gleiche Engine, gleiche Lizenz. Was Sie in T-SQL schreiben, verhält sich gleich. Microsoft lizenziert SQL Server für Windows und Linux auf dieselbe Weise.
  • Andere Plattformliste je Version. SQL Server 2025 läuft auf Red Hat Enterprise Linux 9 und 10 sowie Ubuntu 22.04 und 24.04, SUSE ist nicht mehr dabei.
  • Einige Funktionen fehlen. Darunter Agent-Jobschritte für Betriebssystembefehle, PowerShell und SSIS, Warnungen, FILESTREAM, Merge-Replikation und Linked Server zu anderen Datenbanken als SQL Server. Ob Ihre Instanz davon etwas nutzt, zeigt die Prüfabfrage in Teil 1.
  • Andere Verwaltung. mssql-conf statt Configuration Manager, systemd statt Dienstverwaltung, eine Instanz je Host. Hochverfügbarkeit läuft über Pacemaker statt über den Windows-Failovercluster.
  • Container haben eigene Fallstricke. In unserem Lab beendete docker stop SQL Server 2022 und 2025 nie sauber, und CPU-Grenzen blieben für SQL Server oft unsichtbar. Teil 3 zeigt die Messungen.

Was gleich bleibt

Unter Linux läuft die SQL-Server-Engine auf einer Abstraktionsschicht, die ihr die Dienste des Betriebssystems bereitstellt. Für alles, was in der Datenbank passiert, ändert sich dadurch nichts Sichtbares:

  • T-SQL, Optimizer und Ausführungspläne sind dieselben. Unsere Fachartikel zu Performance, Locking und TempDB haben wir durchgehend in Linux-Containern gemessen.
  • Backups sind zwischen den Plattformen austauschbar. Ein Backup von Windows lässt sich unter Linux zurückspielen; die Dateipfade müssen dabei mit WITH MOVE auf Linux-Pfade umgelenkt werden.
  • Werkzeuge wie SSMS, sqlcmd und bcp verbinden sich wie gewohnt. Einige SSMS-Funktionen fehlen gegenüber Linux-Instanzen, etwa Wartungspläne.
  • Editionen und Lizenz sind dieselben. Sie lizenzieren SQL Server und wählen die Plattform frei; Developer und Express bleiben kostenlos, Developer nur für Entwicklung und Test.

Was anders ist

Plattformen je Version

Microsoft unterstützt je Version bestimmte Distributionen, als Dateisystem jeweils XFS oder ext4:

VersionRed Hat Enterprise LinuxSUSE Linux Enterprise ServerUbuntu
SQL Server 20177.7–7.9, 812 SP3–SP518.04
SQL Server 20197.7–7.9, 812 SP3–SP5, 1518.04, 20.04
SQL Server 20228, 915 SP1–SP420.04, 22.04
SQL Server 20259, 10nicht unterstützt22.04, 24.04

Für produktive Last empfiehlt Microsoft Distributionen mit regelmäßigen Sicherheitsupdates und Supportvertrag, bei 2025 Red Hat Enterprise Linux und Ubuntu Pro. Endet der Support der Distribution, endet laut Microsoft auch der Support für SQL Server darauf. Container-Images laufen nur auf Hosts mit Intel- oder AMD-Prozessoren (x86-64); Emulation auf Apple Silicon und anderen ARM-Rechnern ist nicht unterstützt.

Fehlende Funktionen

Die Liste der unter Linux nicht verfügbaren Funktionen ist für 2022 und 2025 fast gleich. Die wichtigsten für den Alltag:

BereichNicht verfügbar unter Linux
SQL Server AgentJobschritte für Betriebssystembefehle (CmdExec), PowerShell, SSIS, Analysis Services, Reporting Services; Warnungen; Managed Backup
Datenbank-EngineMerge-Replikation, FILESTREAM und FileTables, Linked Server zu anderen Quellen als SQL Server, xp_cmdshell, CLR-Assemblies mit EXTERNAL_ACCESS oder UNSAFE, Buffer Pool Extension
HochverfügbarkeitDatabase Mirroring (ohnehin veraltet)
SicherheitWindows-Authentifizierung für Linked Server und Endpunkte von Availability Groups, Always Encrypted mit Secure Enclaves, FIPS-Konformität
DiensteAnalysis Services, Reporting Services (der Berichtskatalog darf auf Linux liegen), SQL Server Browser

Einiges davon lehnt SQL Server unter Linux schon beim Einrichten ab, etwa xp_cmdshell oder einen Linked Server über ODBC. Anderes lässt sich anlegen und scheitert erst im Betrieb: Einen Agent-Job mit einem CmdExec-Schritt oder eine Warnung nahm SQL Server in unserem Lab auf allen vier Versionen klaglos an. Teil 1 enthält eine Prüfabfrage, die solche Abhängigkeiten auf Ihrer bestehenden Instanz findet.

Verwaltung

  • Eine Instanz je Host. Benannte Instanzen gibt es unter Linux nicht. Wer mehrere Instanzen auf einem Rechner braucht, nimmt Container mit je eigenem Port.
  • mssql-conf statt Configuration Manager. Speicher, Trace Flags, Pfade, Netzwerk und Agent stellen Sie mit mssql-conf ein, den Dienst steuern Sie mit systemctl. Der SQL Server Agent ist nach der Installation ausgeschaltet.
  • Dateien und Rechte. Alles unter /var/opt/mssql gehört dem Benutzer mssql. Das Errorlog liegt unter /var/opt/mssql/log/errorlog.
  • Updates kommen über den Paketmanager der Distribution, im Container als neues Image.

Anmeldung und Hochverfügbarkeit

  • Windows-Anmeldungen funktionieren auch unter Linux, wenn der Host an das Active Directory angebunden ist und SQL Server ein Keytab mit den passenden SPNs bekommt. Das ist mehr Einrichtung als unter Windows.
  • Availability Groups laufen ohne Windows-Failovercluster. Automatischer Failover braucht unter Linux Pacemaker als Cluster-Manager; ohne Cluster-Manager ist nur manueller Failover möglich. Der Listener ist eine IP-Adresse mit DNS-Eintrag, verteilte Transaktionen über MSDTC sind in Availability Groups unter Linux nicht unterstützt.
  • Failover Cluster Instances gibt es ebenfalls, mit Pacemaker und gemeinsamem Speicher über iSCSI, NFS oder SMB. Was FCI und Availability Groups grundsätzlich unterscheidet, erklärt unsere Reihe FCI vs. Availability Groups.

Container sind ein eigenes Thema

SQL Server im Container ist unter Linux ein naheliegender Weg, und Microsoft unterstützt ihn auf Docker, Kubernetes und OpenShift. Die Schnellstarts zeigen, wie man den Container startet. Was danach passiert, haben wir auf allen vier Versionen gemessen:

  • docker stop beendet SQL Server 2022 und 2025 nicht sauber; beim nächsten Start läuft eine Recovery.
  • Eine CPU-Quote (--cpus) sieht keine Version. SQL Server plant mit allen CPUs des Hosts.
  • SQL Server 2017 und 2019 sehen das Speicherlimit des Containers auf Hosts mit cgroup v2 nicht, dem Standard aktueller Distributionen.
  • SQL Server 2022 und 2025 starteten nur, wenn das Datenverzeichnis auf dem Host dem Benutzer mit der ID 10001 gehörte.

Die Messwerte, die Gegenmittel und eine Lagebild-Abfrage, die zeigt, was Ihre Instanz von ihren Grenzen sieht, stehen in Teil 3: Was im Container schiefgeht.

Die Reihe

Weitere Teile folgen, unter anderem zur täglichen Arbeit mit SQL Server unter Linux aus Sicht von Windows-Admins.

Methode und Grenzen

Die Aussagen zu Plattformen, Funktionen, Verwaltung und Hochverfügbarkeit stammen aus Microsoft Learn (Stand der Seiten zwischen Mai und November 2026, gelesen am 11. und 12.11.2026). Die Funktionsliste haben wir für SQL Server 2022 und 2025 gelesen, nicht getrennt für 2017 und 2019. Eigene Messungen: Linux-Container mit SQL Server 2017 CU31, 2019 CU32, 2022 CU27 und 2025 CU9/CU10 auf einem Ubuntu-Host mit cgroup v2. Einen Vergleich Linux gegen Windows auf gleicher Hardware haben wir nicht gemessen; Hochverfügbarkeit mit Pacemaker und die Anbindung an ein Active Directory haben wir nicht im Lab aufgebaut.

Weiterlesen

  • Microsoft Learn: „Release information for SQL Server on Linux“ (Plattformen), „Editions and supported features of SQL Server 2025 on Linux“ (Funktionsumfang), „SQL Server on Linux frequently asked questions“.
  • Microsoft Learn: „Availability groups for SQL Server on Linux“ und „Failover cluster instances – SQL Server on Linux“.
  • Bei PSG: FCI vs. Availability Groups, SQL Server Versionen.