SQL Server 2025 (17.x) プレビュー
availability group commit time
サーバー構成オプションを使用して、Always On 可用性グループ レプリカのグループコミット時間をミリ秒単位で指定します。
注
availability group commit time
サーバー構成オプションは、SQL Server 2025 (17.x) プレビュー以降で使用できます。
概要
トランザクション内で行われた変更は、トランザクションがコミットされるまで、トランザクションの外部には表示されません。 Always On 可用性グループのコミット済みトランザクションの定義には、セキュリティ強化されたコミットを確認する可用性グループ内のすべての同期セカンダリ レプリカが含まれます。 プライマリ レプリカでコミットが発行された後、その事実をネットワーク全体ですべてのセカンダリ レプリカに迅速に伝達する必要があります。
SQL Server はトランザクションの ACID プロパティを維持するために 先行書き込みトランザクション ログ に依存しているため、最初に変更が ログ ブロックの形式でトランザクション ログに記録されます。 これらのログ ブロックは、すべてのセカンダリ レプリカのトランザクション ログに送信され、適用されます。
SQL Server 2016 (13.x) 以降のバージョンのパフォーマンスを向上させ、待機時間を短縮するために、SQL Server では、Always On 可用性グループのログ ブロックを複数のコミットで埋めてからセカンダリ レプリカに送信しようとすると、10 ミリ秒の遅延が使用されます。
SQL Server 2025 (17.x) プレビューでは、可用性グループ レプリカのグループコミット時間をミリ秒単位で指定する availability group commit time
サーバー構成オプションが導入されています。 既定値の 10 ミリ秒が長すぎるビジネス シナリオでは、このオプションを使用すると、SQL Server では、複数のコミットを少数のログ ブロック内のバッチにグループ化できます。
グループ化コミットでは、データ レプリケーションの効率と、コミットの成功を発行者に報告するのにかかる時間との間に トレードオフ が生じます。
- ビジーなシステムでは、コミットをグループ化することで、より多くのトランザクションで満たされたログブロックが生成され、ネットワークの飽和やセカンダリレプリカに対する多数の小さなログブロックの適用に関連するオーバーヘッドを回避できます。
- ただし、トランザクションがセカンダリ レプリカに適用されるまでに 10 ミリ秒の遅延があり、一部のビジネス シナリオでは問題になる可能性があります。
既定値の 10 ミリ秒が長すぎるビジネス シナリオでは、 availability group commit time
サーバー構成オプションを小さい値に変更して、トランザクションがセカンダリ レプリカに送信されるようにすることができます。
注釈
0
の既定値は、SQL Server が可用性グループのコミット時間に既定値の 10 ミリ秒を使用することを示します。availability group commit time
サーバー構成オプションは、[詳細オプションの表示] が [1
] に設定されている場合に使用できます。