Sintomi
Quando si esegue un'istanza di Microsoft SQL Server 2017 all'interno di un contenitore di docking Linux, è possibile che venga visualizzato un messaggio di errore di memoria insufficiente.
Causa
SQL Server su Linux per impostazione predefinita usa un limite di 80% della memoria fisica totale quando Memory. memorylimitmb configurazione non è abilitata; Per i contenitori Docker SQL usato per considerare il 80% della memoria totale dell'host invece di limitarsi alla memoria di 80% assegnata al contenitore della finestra mobile. Questo limite di memoria non corretto consente a SQL Server di provare a usare la memoria più che disponibile per il contenitore e potrebbe essere un candidato per la terminazione da parte dell'assassino.
Nota Quando si crea l'immagine della finestra mobile, è necessario specificare – m per limitare la memoria della finestra mobile. Per altre informazioni, vedere l'articolo seguente.
Risoluzione
Una correzione per questo problema è inclusa nell'aggiornamento seguente per SQL Server:
Aggiornamento cumulativo 10 per SQL Server 2017
Nota Se la configurazione Memory. memorylimitmb non è configurata, questa correzione consente a SQL Server di limitarsi a un limite di 80% della memoria allocata al contenitore.
Informazioni sulle build di SQL Server
Ogni nuova build per SQL Server contiene tutti gli aggiornamenti rapidi e le correzioni di sicurezza presenti nella build precedente. È consigliabile installare la build più recente per la versione di SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia standard utilizzata da Microsoft per descrivere gli aggiornamenti software.