Aplica-se A
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core

Sintomas

Quando executar uma instância do Microsoft SQL Server 2017 dentro de um contentor Linux Docker, poderá receber uma mensagem de erro fora de memória.

Causa

O SQL Server no Linux por predefinição utiliza um limite suave de 80% da memória física total quando a configuração memory.memorylimitmb não está ativada; Para os contentores Docker, o SQL costumava considerar 80% da memória total do hospedeiro em vez de se limitar a 80% de memória atribuída ao recipiente do estivador. Este limite de memória incorreto permite que o SQL Server tente consumir a memória mais do que a que está disponível para o recipiente e pode ser um candidato à rescisão pelo OOM Killer.

NotaQuando crias a imagem do Docker, tens de especificar - m para limitar a memória do Docker. Consulte o seguinte artigo para obter mais informações.

Criar Docker

Resolução

Uma correção para este problema está incluída na seguinte atualização para o SQL Server:

Atualização Cumulativa 10 para SQL Server 2017 

Nota Se a configuração memory.memorylimitmb não estiver configurada, esta Correção permite que o SQL Server se limite a um limite suave de 80% da memória atribuída ao recipiente.

Sobre as construções do SQL Server

Cada nova construção para SQL Server contém todos os hotfixes e correções de segurança que estavam na construção anterior. Recomendamos que instale a mais recente construção para a sua versão do SQL Server:

A mais recente construção para SQL Server 2017

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Referências

Saiba mais sobre a terminologia padrão que a Microsoft utiliza para descrever atualizações de software.

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.