NVMe ストレージ (M.2 の SSD)へのSQL Serverインストールエラーと解決策

最近,NVMe ストレージ (M.2 の SSD)にSQL Serverをインストールしようとする際,次のエラーが発生しました:
「SQL Server データベース エンジン サービス インスタンス機能 のインストール エラー
データベース エンジンの復旧ハンドルの待機に失敗しました。考えられる原因については、SQL Server エラー ログを参照してください。」
SQL Server エラー ログを読んでも解決策はよくわかりませんでした。

インターネットでいろいろと調べたところ,このエラーはシステムディスのクセクターサイズが大きすぎて,SQL Serverが対応していないことがわかりました。詳細は次のページを掲載しています:
4 KB を超えるシステム ディスク セクター サイズに関連するエラーのトラブルシューティング

Windows 11 / Windows Server 2022をNVMeにインストールすると,システムディスクのセクターサイズを自動的に「32768」(32KB)に設定するのに対して,SQL Server 2016~2019は512 バイトと4KBのセクターサイズだけをサポートしています。

解決策は,上記のマイクロソフトのHPを参考にして,システムディスクのセクターサイズを4KBに変更することです。Windows11では「Windowsターミナル(管理者)」をクリックして,管理者としてコマンド プロンプトを開いてから,次のコマンドを実行してください:
REG ADD “HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device” /v “ForcedPhysicalSectorSizeInBytes” /t REG_MULTI_SZ /d “* 4095” /f

なお,ストレージのセクターサイズは次のコマンドで確認できます:
fsutil fsinfo sectorinfo <volume pathname>
例えば,Cディスクのセクターサイズを確認したいとき,「fsutil fsinfo sectorinfo C:」というコマンドを実行して,PhysicalBytesPerSectorForAtomicityの値はバイト単位で示されるセクターサイズです。