SQL Server トレース フラグ 1800 トランザクション ログ ボリュームの入出力 (I/O) アラインメント
Summary: Microsoft SQL トレース フラグ 1800 は、SQL トランザクション ログ ボリュームの SQL Server 4k I/O アラインメントを有効にする設定です。 この記事では、トランザクション ログの不整合 I/O の原因と、トレース フラグ 1800 を使用する利点について説明します。これは、仮想化SQLソリューションを備えたDellおよびその他のベンダーのストレージ ソリューションに適用されます。 ...
Symptoms
不整合I/Oが発生すると、データベースに大量のデータが挿入されている間に、アプリケーションのトランザクション ログ書き込みの書き込みレイテンシーが高くなることがあります。
潜在的な不整合を検出する詳細な例については、この Broadcomブログを参照してください。SQL Server側の「Process Monitor」、または「vSAN I/O Insight」などのvSphereツールを活用して、問題の診断に役立ててください。
I/Oの不整合による影響は、ワークロード パターンに大きく依存します。一般に、シーケンシャル書き込みI/Oが大きいほど、影響が大きくなることが確認されています。
トレース フラグ1800を使用しない場合の書き込みパフォーマンスの観点からのレイテンシーの例:

トレース フラグ1800が設定されている場合:
Cause
vSphere ESXiは、VMware仮想マシン ディスク(VMDK)を512バイトの物理セクター サイズ(512nフォーマット)でゲストOSに公開します
SQL Server では、高度なメカニズムを使用してトランザクション ログの I/O ブロック サイズを計算します。SQLは、トランザクション ログI/Oブロック サイズを調整するために、トランザクション ログ ファイルが配置されている、提示されたVMDKの物理セクター サイズを取得します。これは、従来からファイル システム(NTFS)アロケーション ユニット サイズ(ユーザー制御)を使用しているデータ ボリュームとは異なります。
I/Oディスクの位置合わせにより、ディスクの物理セクターに合わせてデータがストレージ メディアに書き込まれます。これにより、書き込みパフォーマンスに影響を与える可能性がある不整合I/Oを防止できます。
注:これはストレージ ソリューション固有のものではありません。不整合I/Oはソリューションごとに異なる方法で管理されるため、同じ症状が表示されない場合があります。いずれにしても、ストレージ ソリューションのベスト プラクティスに従ってIOを調整することが常に推奨されます。
Resolution
トレース フラグ 1800 を使用すると、SQL トランザクション ログ ボリュームが 4k 境界に適切に配置されていることを確認できます。これにより、基盤となるストレージ ソリューションのボリューム ブロック サイズに応じて、書き込みパフォーマンスが最適化されます。
トレース フラグ 1800 を有効にする前に、Microsoft SQL チームに相談して、潜在的な不整合と構成ガイダンスを確認してください。
注:トレース フラグ 1800 では、SQL Server サービスの再起動が必要です。データベース整合性チェッカー (DBCC) の "DBCC TRACE ON" コマンドを使用してフラグを適用しても効果はありません。
Additional Information
Microsoft では 異なるディスク上のレプリケーション グループを持つ可用性グループに対するトレース フラグ1800を参照しています。トレース フラグは、一般的なベスト プラクティスのパフォーマンスにも効果的であることが証明されています。