こんにちは。SQL Server サポート チームです。
今回は、Windows 11 に SQL Server をインストールする際に、インストール先のディスクのセクター サイズが 4KB よりも大きいために、インストールに失敗した場合の対処策をご案内します。
SQL Server では 4KB よりも大きなセクター サイズをサポートしていないため、4KB よりも大きなセクター サイズのディスクに SQL Server をインストールしようとすると、インストールに失敗します。
詳細については、以下の公開情報に記載されています。
4 KB を超えるシステム ディスク セクター サイズに関連するエラーのトラブルシューティング
https://learn.microsoft.com/ja-jp/troubleshoot/sql/database-engine/database-file-operations/troubleshoot-os-4kb-disk-sector-size
上記の詳細情報をもとに、本事象に該当するか確認する方法や対処策を本記事でもご案内します。
◆事象
Windows 11 に SQL Server をインストールする際に、インストール先のディスクが 4KB よりも大きなセクター サイズの場合、SQL Server のインストールが失敗します。
◆本事象の発生する対象
Windows 11 に SQL Server をインストールする場合に、SQL Server のインストール先ディスクのセクター サイズが、4KB よりも大きい場合に本事象が発生します。
同じディスクを使用する場合でも、Windows 10 ではこの事象は発生しません。
そのため、Windows 10 のときは SQL Server がエラーなく動作している環境でも、Windows 11 にアップデートすることで、
Windows 11 が 4KB よりも大きなディスクのセクター サイズを認識するようになり、SQL Server サービスの開始が失敗するケースもあります。
◆発生対象に該当するか確認する方法
Windows 11 への SQL Server のインストールが失敗する場合、または、Windows 11 へアップデート後に SQL Server サービスの起動が失敗する場合、
以下を確認し、該当する場合は後述の対処策を実施ください。
【確認方法】
SQL Server のインストール先のドライブを fsutil コマンドで確認し、 PhysicalBytesPerSectorForAtomicity が 4096 よりも大きい値か確認します。大きい場合は対処策を実施します。
==============================
確認手順
==============================
1. タスクバー上の虫眼鏡のマークをクリックし、検索する文字として「コマンド」と入力します。
2. 最も一致する検索結果として、コマンド プロンプトが表示されますので、[管理者として実行] をクリックします。
3. 「このアプリがデバイスに変更を加えることを許可しますか?」という画面が表示されますので [はい] をクリックします。
4. コマンド プロンプトに以下のコマンドをコピーして実行します。
fsutil fsinfo sectorinfo C:
※ SQL Server のインストール先が C: ボリューム以外の場合、対象のボリュームを指定するように変更して実行ください。
対象のボリュームが E: ボリュームの場合は以下のように実行します。
fsutil fsinfo sectorinfo E:
5. 出力内容の PhysicalBytesPerSectorForAtomicity を確認し、4096 よりも大きい値か確認します。
4096 よりも大きい場合、本公開情報の事象に該当しまので、以下の対処策を実施します。
◆対処策
レジストリの設定を変更することで対処します。
レジストリを誤って変更すると、深刻な問題が発生するため、変更するコマンドを実行する際には十分にご注意ください。
レジストリの設定を変更する前には、対象のレジストリのバックアップも取得します。
==============================
レジストリのバックアップ
==============================
1. タスクバー上の虫眼鏡のマークをクリックし、検索する文字として「コマンド」と入力します。
2. 最も一致する検索結果として、コマンド プロンプトが表示されますので、[管理者として実行] をクリックします。
3. 「このアプリがデバイスに変更を加えることを許可しますか?」という画面が表示されますので [はい] をクリックします。
4. コマンド プロンプトで以下の 4 つのコマンドを順次実行し、バックアップを保存するフォルダー C:\temp を作成し、C:\temp に対象のレジストリのバックアップを保存します。
cd \
mkdir temp
cd temp
REG SAVE "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" reg-backup.hiv
==============================
対処手順
==============================
1. タスクバー上の虫眼鏡のマークをクリックし、検索する文字として「コマンド」と入力します。
2. 最も一致する検索結果として、コマンド プロンプトが表示されますので、[管理者として実行] をクリックします。
3. 「このアプリがデバイスに変更を加えることを許可しますか?」という画面が表示されますので [はい] をクリックします。
4. コマンド プロンプトに以下のコマンドをコピーして実行します。
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes" /t REG_MULTI_SZ /d "* 4095" /f
5. 次に、コマンド プロンプトに以下のコマンドをコピーして実行します。
REG QUERY "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes"
6. 上記の手順 5. の実行結果が以下であることを確認します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device
ForcedPhysicalSectorSizeInBytes REG_MULTI_SZ * 4095
7. 対処手順は以上です。Windows を再起動し、SQL Server をインストールします。
本記事が皆様のお役に立てれば幸いです。
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。