KB4347055 — ИСПРАВЛЕНО: ошибка нехватки памяти при запуске SQL Server 2017 в контейнере Docker Linux

Применяется к
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core

Проблема

При запуске экземпляра Microsoft SQL Server 2017 в контейнере Docker Linux может появиться сообщение об ошибке нехватки памяти.

Причина

SQL Server на Linux по умолчанию использует мягкое ограничение в 80% от общего объема физической памяти, если конфигурация memory.memorylimitmb не включена; Для контейнеров Docker раньше SQL рассматривал 80% общей памяти хоста вместо того, чтобы ограничиваться 80% памяти, выделенной для контейнера Docker. Это неправильное ограничение памяти позволяет SQL Server пытаться использовать больше памяти, чем доступно для контейнера, и может быть кандидатом на завершение OOM Killer.

Примечание При создании Docker-образа необходимо указать –m, чтобы ограничить объем памяти Docker. Дополнительные сведения см. в следующей статье.

Создание Docker

Решение

Исправление этой проблемы включено в следующее обновление для SQL Server:

Накопительный пакет обновления 10 для SQL Server 2017

Примечание Если конфигурация memory.memorylimitmb не настроена, это исправление позволяет SQL Server ограничить себя мягким ограничением в 80 % памяти, выделенной контейнеру.

Сведения о сборках SQL Server

Каждая новая сборка для SQL Server содержит все исправления и исправления безопасности, которые были в предыдущей сборке. Рекомендуется установить последнюю сборку для вашей версии SQL Server.

Последняя сборка SQL Server 2017

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».

Ссылки

Узнайте о стандартной терминологии , используемой корпорацией Майкрософт для описания обновлений программного обеспечения.