Проблема
Предположим, что вы запускаете образ контейнера SQL Server 2017 Linux в Docker для Windows. Если образы Docker используются для подготовки контейнеров и используется расположение подключения тома (расположение по умолчанию /var/opt/mssql) или любой родительский каталог, SQL Server не запускается. Кроме того, появляется сообщение об ошибке примерно следующего содержания:
Примечание
дата и время spid6s Ошибка: 17053, Серьезность: 16, Состояние: 1.
Дата и время SPID6s /var/opt/mssql/data/mastlog.ldf: Произошла ошибка операционной системы 31(Присоединенное к системе устройство не работает.)
дата и время spid6s Ошибка: 9002, Серьезность: 17, Состояние: 0.
дата и время spid6s Журнал транзакций базы данных "master" заполнен из-за значения "NOTHING".
дата и время spid6s Ошибка: 928, Серьезность: 20, Состояние: 1.
Причина
Эта проблема возникает из-за того, что каталог из Windows смонтирован как общая файловая система Интернета (CIFS) внутри контейнера Docker. CIFS официально не поддерживается в качестве файловой системы SQL Server на Linux.
Решение
Исправление этой проблемы включено в следующее обновление для SQL Server:
Накопительный пакет обновления 7 для SQL Server 2017
Сведения о сборках SQL Server
Каждая новая сборка для SQL Server содержит все исправления и исправления безопасности, которые были в предыдущей сборке. Рекомендуется установить последнюю сборку для вашей версии SQL Server.
Последняя сборка SQL Server 2017
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Ссылки
Узнайте о стандартной терминологии , используемой корпорацией Майкрософт для описания обновлений программного обеспечения.
Заявление об отказе от ответственности за продукцию сторонних производителей
Сторонние продукты, которые рассматриваются в этой статье, производятся компаниями, которые не зависят от Майкрософт. Корпорация Майкрософт не гарантирует надлежащую работоспособность и надежность этих продуктов.