以前、Windows 11 / Windows Server 2022 で NVMe にインストールした OS のシステムドライブに SQL Server のインストール時にエラーが発生する件について という投稿を書きました。
これは、4 KB を超えるシステム ディスク セクター サイズに関連するエラーのトラブルシューティング の対応となり、512 バイト / 4KB 以外のネイティブセクターサイズを使用している場合に、データ ファイルのストレージの種類 に記載されているサポートされているネイティブセクターサイズ以外が使用されている状態となり、SQL Server のインストールに失敗するという事象となります。
NVMe を使用しているストレージの場合に、このネイティブセクターサイズになる可能性があり、SQL Server をインストールしようとしているドライブ (厳密にはデータベースのファイルを配置しようとしているドライブ) に対して「fsutil fsinfo sectorinfo <ドライブ文字>」を実行することで、ネイティブセクターサイズを確認することができます。
以下の情報は、NVMe のディスクに Windows Server 2022 をインストールして取得した情報となりますが、この環境では 16,384 バイトとなっています。
サポートされていないネイティブセクターサイズの SQL Server をインストールしようとした場合に、次のようなメッセージが表示され、サービスを起動することができないため、レジストリを変更して対応をするというのが本問題の対応となっていました。
There have been 256 misaligned log IOs which required falling back to synchronous IO. The current IO is on file C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\master.mdf.
同一の環境に Windows Server 2025 をインストールした場合、ネイティブセクターサイズは次のようになっていました。
「PhysicalBytesPersectorForPerformance」は「16,384」となっていますが「PhysicalBytesPerSectorForAtomicity」は「4,096」となっており、Windows Server 2022 とは異なる情報の状態となっていました。(使用しているディスクは同一で、インストールする OS のみを変更した状態です)
この状態で SQL Server のインストールを実施してみたのですが、挙動としては Windows Server 2022 と同一のエラーが発生しており、次のコマンドの実行と実行後の再起動が必要でした。
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes" /t REG_MULTI_SZ /d "* 4095" /f
レジストリの設定後は、Windows Server 2025 でも期待した設定となりました。
この環境であれば、SQL Sever 2022 をインストールすることができました。
現状、Windows Server 2025 での SQL Server のインストールについては Version requirements for SQL Server in Windows operating system に記載がないため、どのバージョンがサポートされるかの公開情報はありませんが、NVMe のディスクに SQL Server をインストールする際の考慮については、Windows Server 2025 でも同様となるようです。