KB4347055 - FIX: Fout bij onvoldoende geheugen wanneer u SQL Server 2017 uitvoert in een Linux Docker-container

Van toepassing op
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core

Symptomen

Wanneer u een exemplaar van Microsoft SQL Server 2017 uitvoert in een Linux Docker-container, wordt mogelijk een foutbericht over onvoldoende geheugen weergegeven.

Oorzaak

SQL Server on Linux gebruikt standaard een zachte limiet van 80% van het totale fysieke geheugen wanneer de memory.memorylimitmb-configuratie niet is ingeschakeld; Voor Docker-containers hield SQL rekening met 80% van het totale hostgeheugen in plaats van zich te beperken tot 80% geheugen dat was toegewezen aan de docker-container. Door deze onjuiste geheugenlimiet kan SQL Server meer geheugen verbruiken dan er beschikbaar is voor de container en kan dit een kandidaat zijn voor beëindiging door OOM Killer.

Notitie Wanneer u de Docker-installatiekopie maakt, moet u –m opgeven om het Docker-geheugen te beperken. Zie het volgende artikel voor meer informatie.

Docker maken

Oplossing

Een oplossing voor dit probleem is opgenomen in de volgende update voor SQL Server:

Cumulatieve update 10 voor SQL Server 2017

Notitie Als de configuratie memory.memorylimitmb niet is geconfigureerd, zorgt deze oplossing ervoor dat SQL Server zichzelf kan beperken tot een zachte limiet van 80% van het toegewezen geheugen aan de container.

Over builds van SQL Server

Elke nieuwe build voor SQL Server bevat alle hotfixes en beveiligingspatches uit de vorige build. We raden u aan de nieuwste build voor uw versie van SQL Server te installeren:

De nieuwste build voor SQL Server 2017

Status

Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Meer informatie

Meer informatie over de standaardterminologie die Microsoft gebruikt om software-updates te beschrijven.