Simptomi
Kada pokrenete instancu sistema Microsoft SQL Server 2017 unutar Linux Docker kontejnera, možete dobiti poruku o grešci bez memorije.
Uzrok
SQL Server na Linuxu podrazumevano koristi meko ograničenje od 80% ukupne fizičke memorije kada memorija.memorylimitmb konfiguracija nije omogućena; Za Doker kontejnere SQL je nekada razmatrao 80% ukupne memorije domaćina umesto da se ograniči na 80% memorije dodeljene kontejneru dokera. Ovo netačno ograničenje memorije omogućava SQL Serveru da pokuša da potroši memoriju više nego što je dostupno za kontejner i može biti kandidat za prekid rada od strane OOM Killer- a.
Napomena Kada kreirate Doker sliku morate da navedete da biste ograničili Doker memoriju. Za više informacija pogledajte sledeći članak.
Rešenje
Ispravka za ovaj problem je uključena u sledeću ispravku za SQL Server:
Kumulativna ispravka 10 za SQL Server 2017
BeleškeAko konfiguracija memory.memorylimitmb nije konfigurisana, ova ispravka omogućava SQL Serveru da se ograniči na meko ograničenje od 80% dodeljene memorije kontejneru.
Osnovni podaci o SQL Server builds
Svaka nova verzija za SQL Server sadrži sve hitne ispravke i bezbednosne ispravke koje su bile u prethodnoj verziji. Preporučujemo da instalirate najnoviju verziju za svoju verziju sistema SQL Server:
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".
Reference
Saznajte više o standardnoj terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.