現象
Windows 用の Docker で SQL Server 2017 Linux コンテナイメージを実行していることを前提とします。コンテナーのプロビジョニングに Docker 画像が使用されている場合、ボリュームマウントの場所 (/var/opt/mssql の既定の場所) または任意の親ディレクトリを使用すると、SQL Server は起動しません。さらに、次のようなエラーメッセージが表示されます。
日付時刻 spid6s エラー: 17053、レベル:16、状態: 1。 日付時刻 spid6s/var/opt/mssql/data/mastlog.ldf: オペレーティングシステムエラー 31 (システムに接続されているデバイスが機能していません)。 日付時刻 spid6s エラー: 9002、重大度:17、状態: 0。 日付時刻 spid6s データベースの "マスター" のトランザクションログは、"NOTHING" であるため、完全な状態になっています。 日付時刻 spid6s エラー: 928、レベル:20、状態: 1。
原因
この問題は、Windows のディレクトリが、Docker コンテナー内の Common Internet File System (CIFS) としてマウントされていることが原因で発生します。 CIFS は、Linux の SQL Server がファイルシステムとして正式にサポートしているわけではありません。
解決方法
この問題の修正プログラムは、SQL Server の次の更新プログラムに含まれています。
SQL Server 2017 の累積更新プログラム 7
SQL Server ビルドについて
SQL Server 用の新しいビルドごとに、以前のビルドで使用されていたすべての修正プログラムとセキュリティの修正が含まれています。 使用しているバージョンの SQL Server 用の最新のビルドをインストールすることをお勧めします。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
Microsoft がソフトウェアの更新について説明するために使用する標準的な 用語 について説明します。
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。