Problembeschreibung
Wenn Sie eine Instanz von Microsoft SQL Server 2017 innerhalb eines Linux-Andockcontainers ausführen, erhalten Sie möglicherweise eine Fehlermeldung, die nicht im Arbeitsspeicher gespeichert ist.
Ursache
SQL Server unter Linux verwendet standardmäßig eine weiche Grenze von 80% des gesamten physikalischen Speichers, wenn die Speicher memorylimitmb-Konfiguration nicht aktiviert ist. Für docker-Container wurde SQL verwendet, um 80% des gesamten Host Speichers zu bedenken, anstatt sich auf den Speicher des Andockcontainers auf 80% zu beschränken. Dieser fehlerhafte Speichergrenzwert ermöglicht es SQL Server, den Speicher zu verbrauchen, der für Container verfügbar ist, und könnte ein Kandidat für die Kündigung durch den raumkiller sein.
HinweisWenn Sie das Andockfenster erstellen, müssen Sie – m angeben, um den Andock Speicher zu begrenzen. Weitere Informationen finden Sie im folgenden Artikel.
Fehlerbehebung
Eine Lösung für dieses Problem ist im folgenden Update für SQL Server enthalten:
Kumulatives Update 10 für SQL Server 2017
Hinweis Wenn die Speicher-memorylimitmb- Konfiguration nicht konfiguriert ist, ermöglicht dieser Fix SQL Server, sich auf eine weiche Grenze von 80% des zugeordneten Speichers für den Container zu beschränken.
Informationen zu SQL Server-Builds
Jeder neue Build für SQL Server enthält alle Hotfixes und Sicherheitsupdates, die sich im vorherigen Build befanden. Wir empfehlen, dass Sie den neuesten Build für Ihre Version von SQL Server installieren:
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Informationsquellen
Informieren Sie sich über die Standard Terminologie , die Microsoft zum Beschreiben von Softwareupdates verwendet.