Windows 11、Windows Server 2022 で SQL Server のセットアップが失敗する
Windows 11、Windows Server 2022 にアップグレードすると、大臣が起動できない

Windows 11、Windows Server 2022 で特定の NVMe（M.2）の SSD を利用する場合、下記の現象が発生することがあります。

《現象 1：SQL Server セットアップが [0x851A001A] または [0x851A002D] で失敗》
SQL Server の初回セットアップが「エラーコード [0x851A001A]」で失敗します。

再度セットアップすると「エラーコード [0x851A002D]」で失敗します。

《現象 2：SQL Server サービスが開始できない》
SQL Server をインストール済みの OS を Windows 11、 Windows Server 2022 にアップグレードすると、SQLServer サービスが開始できなくなります。
結果として、大臣起動時に「SQL データソースに接続できませんでした。SQL サーバーが正常に動作していないか、ネットワークに問題がある可能性があります State : 08001 …」のエラーが表示され、起動できません。

【原因】
Microsoft の仕様です。
Windows 11 や Windows Server 2022 は、特定の NVMe（M.2）SSD のセクター サイズを 4096 以外と認識します。SQL Server はセクター サイズ 4096 （または 512）以外の記憶域（HDD や SSD）では動作しないため、現象が発生します。
詳細は以下の Microsoft 公式文書をご確認ください。
4 KB を超えるシステム ディスク セクター サイズに関連するエラーのトラブルシューティング
https://docs.microsoft.com/ja-jp/troubleshoot/sql/admin/troubleshoot-os-4kb-disk-sector-size

1/7

【回避手順】
現象によって回避策が異なります。
《現象１：SQL Server セットアップが [0x851A001A] または [0x851A002D] で失敗》が発生した場合
回避策は 2 通りです。
[1]. 他のドライブに SQL Server および大臣をインストールします。
[2]. OS 設定で [セクター サイズ 4096] とみなすように設定し、SQL Server および大臣をインストールします。
1.

OS 設定で [セクター サイズ 4096] とみなすように設定

2.

SQL Server および大臣をインストール[1] での回避を推奨します。
「セットアップ可能なドライブがない」場合は [2] をご検討ください。

《現象２：SQL Server サービスが開始できない》が発生した場合
SQL Server にトレース フラグ 1800 を設定します。

《現象１：SQL Server セットアップが [0x851A001A] または [0x851A002D] で失敗》の回避手順①

セットアップ可能なドライブの判定
SQL Server をセットアップ可能なドライブがあるかを確認します。
(1) タスク バーの [Windows ボタン] または [検索ボタン] をクリックします。

(2) cmd と入力してください。
(3) 検索結果の [コマンド プロンプト] を右クリックして、 [管理者として実行] をクリックします。

(4) コマンド プロンプトが起動します。

2/7

(5) セットアップ可能なドライブを判定します。
コンピューター上のドライブごとに判定を行ってください。
(ア) 以下のコマンドを入力して、Enter キーを押してください。
fsutil fsinfo sectorinfo <確認するドライブ>（すべて半角、fsutil と fsinfo と sectorinfo と<確認するドライブ>の間に半角スペースが必要です。）
例えば、C: ドライブを確認する場合は下記コマンドとなります。
fsutil fsinfo sectorinfo C:(イ) PhysicalBytesPerSectorForAtomicity と PhysicalBytesPerSectorForPerformance の大きいほうの値を確認してください。
値が 4096 または 512 の場合は、SQL Server をセットアップ可能なドライブです。
値が 4096 または 512 以外の場合は、SQL Server をセットアップできないドライブです。

）（この画像の値は 32768 ですので、インストールできないドライブです。
(6) 判定結果を元に以下の手順に進んでください。
・SQL および大臣をインストールして良い、セットアップ可能なドライブがある
・上記以外の場合②→②へ→③へセットアップ可能なドライブに SQL Server および大臣をインストール
SQL Server をセットアップ可能なドライブがある場合は、そのドライブに SQL Server および大臣をインストールします。
SQL Server のインストール前に、セットアップが失敗した SQL Server をアンインストールしてください。
（アンインストールの手順はセットアップ CD 内の「マニュアル」－「セットアップ」をご確認ください。）
大臣シリーズ管理ツールや大臣も、セットアップ可能なドライブにインストールします。
以上で作業は完了です。

③

OS 設定で [セクター サイズ 4096] とみなすように設定
OS が問題の NVMe ドライブのセクターサイズを正しく認識するように設定します。
重要設定を誤った場合、OS に問題が発生する可能性があります。弊社では責任を負いかねます。
必ず下記 Microsoft 公式文書をご確認のうえ、作業を行ってください。
＝ Microsoft 公式文書 ＝
4 KB を超えるシステム ディスク セクター サイズに関連するエラーのトラブルシューティング
https://docs.microsoft.com/ja-jp/troubleshoot/sql/admin/troubleshoot-os-4kb-disk-sector-size

3/7以下は Microsoft 公式文書から抜粋・補足した手順です。
(1) タスク バーの [Windows ボタン] または [検索ボタン] をクリックします。
(2) regedit と入力してください。
(3) 検索結果の [レジストリ エディター] をクリックします。
(4) レジストリ エディターが起動しますので、左のツリーから以下を選択します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device(5) レジストリ変更前にバックアップを作成します。
バックアップは設定を誤った場合に使用します。
Device キーを右クリックして、[エクスポート] をクリックします。

エクスポート先指定画面が表示されますので、適切な場所にエクスポートしてください。
(6) 右ペインの何もない部分を右クリックし、[新規]－[複数行文字列値] をクリックします。

(7) 新規作成されたエントリーの名前をForcedPhysicalSectorSizeInBytes（すべて半角です）に設定します。

4/7

(8) 作成した ForcedPhysicalSectorSizeInBytes を右クリックし、[修正] をクリックします。

(9) [複数行文字列の編集] 画面が表示されます。
値のデータ欄に* 4095（すべて半角、* と 4095 の間に半角スペースが必要です。）と入力し、さらに改行します。

[OK] をクリックします。
(10) 以下の設定になっていることを確認してください。
名前種類

データ

ForcedPhysicalSectorSizeInBytes

REG_MULTI_SZ* 4095(11) Windows を再起動します。
(12) p.2 「① セットアップ可能なドライブの 判 定」の手順で「PhysicalBytesPerSectorForAtomicity 」「PhysicalBytesPerSectorForPerformance」の大きいほうの値が 4096 になっていることを確認してください。

④

SQL Server および大臣をインストール
SQL Server および大臣をインストールします。
SQL Server のセットアップ前に、セットアップが失敗した SQL Server をアンインストールしてください。
（アンインストールの手順はセットアップ CD 内の「マニュアル」－「セットアップ」をご確認ください。）

5/7

《現象２：SQL Server サービスが開始できない》の回避手順
SQL Server にトレース フラグ 1800 を設定します。
設定により SQL Server がセクター サイズを 4096 とみなし、正常動作するようになります。

①

原因の確認
p.2「① セットアップ可能なドライブの判定」の手順で SQL Server および大臣をインストールしたドライブのセクター サイズ「PhysicalBytesPerSectorForAtomicity」「PhysicalBytesPerSectorForPerformance」の大きいほうの値を確認してください。
・4096 または 512 以外の場合→②へ

・4096 または 512 の場合→別の原因が考えられます。弊社サポートセンターへお問い合わせください。

②

SQL Server にトレース フラグ 1800 を設定SQL Server にトレース フラグ 1800 を設定します。
(1) タスク バーの [Windows ボタン] または [検索ボタン] をクリックします。
(2) 構成マネージャー と入力してください。
(3) 検索結果の [SQL Server 20xx 構成マネージャー] をクリックして起動します。

※ 検索結果に [SQL Server 20xx 構成マネージャー] が出ない場合
エクスプローラーで C:\Windows\SysWow64\SQLServerManagerXX.msc を実行してください。
SQL Server 構成マネージャーが起動します。
(4) 左ツリーから [SQL Server 構成マネージャー] – [SQL Server のサービス] を選択します。
右の [SQL Server (OHKEN)] を右クリックして、[プロパティ] をクリックします。

6/7

(5) [起動時のパラメーター] タブを開きます。
[起動時のパラメーターの指定]欄に-T 1800

（すべて半角、-T と 1800 の間に半角スペースが必要です。）

を入力し、[追加] をクリックしてください。

(6) [既存のパラメーター]欄に [-T 1800] が追加されたことを確認して、[OK] をクリックします。

(7) 左ツリーから [SQL Server 構成マネージャー] – [SQL Server のサービス] を選択します。
右の [SQL Server (OHKEN)] を右クリックして、[開始] をクリックします。

応研株式会社
7/7