Symptômes
Lorsque vous exécutez une instance de Microsoft SQL Server 2017 à l’intérieur d’un conteneur d’ancrage Linux, vous pouvez recevoir un message d’erreur de mémoire insuffisante.
Cause
Par défaut, SQL Server sur Linux utilise une limite conditionnelle de 80% de la mémoire physique totale lorsque la configuration de la mémoire. memorylimitmb n’est pas activée ; Pour les conteneurs d’ancrabateur, SQL utilisée pour considérer 80% de la mémoire totale de l’hôte au lieu de s’en limiter à 80% de mémoire allouée au conteneur d’ancrage. Cette limite de mémoire incorrecte permet à SQL Server d’essayer d’utiliser davantage de mémoire que ce qui est disponible pour le conteneur et peut être un candidat à la résiliation par OOM.
RemarqueLorsque vous créez l’image de l’ancrage, vous devez spécifier-m pour limiter la mémoire de l’ancrage. Pour plus d’informations, reportez-vous à l’article suivant.
Résolution
Un correctif pour résoudre ce problème est inclus dans la mise à jour suivante de SQL Server :
Mise à jour cumulative 10 pour SQL Server 2017
RemarqueSi la configuration de Memory. memorylimitmb n’est pas configurée, ce correctif permet à SQL Server de se limiter à une limite conditionnelle de 80% de mémoire allouée au conteneur.
À propos des versions SQL Server
Chaque nouvelle build pour SQL Server contient tous les correctifs et correctifs de sécurité présents dans la build précédente. Nous vous recommandons d’installer la dernière version pour votre version de SQL Server :
Statut
Microsoft a confirmé l’existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.
Références
Découvrez la terminologie standard utilisée par Microsoft pour décrire les mises à jour logicielles.