Síntomas
Al ejecutar una instancia de Microsoft SQL Server 2017 dentro del contenedor de un acoplador Linux, puede recibir un mensaje de error de memoria insuficiente.
Causa
SQL Server en Linux usa de forma predeterminada un límite lógico del 80% de la memoria física total cuando la configuración de Memory. memorylimitmb no está habilitada; Para los contenedores de Dock, SQL usó para considerar el 80% del total de la memoria del host en lugar de limitarse a la memoria asignada al 80% al contenedor del acoplador. Este límite de memoria incorrecto permite que SQL Server trate de consumir más memoria de la que está disponible para el contenedor y podría ser candidata para la terminación de OOM killer.
Nota: Cuando cree la imagen del acoplador, tiene que especificar – m para limitar la memoria del Dock. Para obtener más información, consulte el artículo siguiente.
Resolución
Se incluye una corrección para este problema en la siguiente actualización para SQL Server:
Actualización acumulativa 10 para SQL Server 2017
Nota: Si la configuración Memory. memorylimitmb no está configurada, esta corrección permite que SQL Server se limite a un límite suave del 80% de la memoria asignada al contenedor.
Acerca de las compilaciones de SQL Server
Cada compilación nueva para SQL Server contiene todas las revisiones y correcciones de seguridad de la compilación anterior. Le recomendamos que instale la compilación más reciente para su versión de SQL Server:
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".
Referencias
Obtenga más información sobre la terminología estándar que Microsoft usa para describir las actualizaciones de software.