次の方法で共有


読み取り可能なセカンダリの統計の永続化

適用対象:適用対象: SQL Server 2025 (17.x) プレビュー Azure SQL DatabaseSql データベース (Microsoft Fabric プレビュー)

Note

読み取り可能なセカンダリのクエリ ストア は SQL Server 2022 で導入され、読み取り可能なセカンダリ機能の永続化された統計では、読み取り可能なセカンダリのクエリ ストアが配置されているインフラストラクチャが使用されています。 SQL Server 2025 では、読み取り可能なセカンダリのクエリ ストアは既定で オン になっていますが、SQL Server 2022 では オフ であり、有効にするにはトレース フラグ 12606 必要です。 トレース フラグの 12606 は SQL Server 2025 以降のバージョンで必要 not 。使用すると、読み取り可能なセカンダリ機能のクエリ ストアが オフになります。

Background

読み取り可能なセカンダリ レプリカでは、 統計の自動作成 オプションが有効になっているときに統計を自動的に作成することもできますが、これらの統計は一時的であり、インスタンスが再起動されると消えます。 読み取り専用データベースまたは読み取り専用スナップショットの統計が見つからないか古い場合、データベース エンジンは tempdbで一時的な統計を作成し、保持します。 データベース エンジンが一時的な統計を作成すると、統計名にサフィックス _readonly_database_statisticが付加され、一時統計と永続的な統計が区別されます。 サフィックス _readonly_database_statistic は、SQL Server によって生成された統計用に予約されています。 このアプローチが採用された理由は、プライマリ レプリカに存在しない個別の統計が必要になる可能性がある読み取り可能なセカンダリ レプリカに対して実行されるワークロードに対処するためです。

読み取り可能なセカンダリ用のクエリ ストアが追加されると、セカンダリ レプリカには通信チャネルがプライマリ レプリカに戻ります。これは現在、クエリ ストア データ (クエリ、プラン、実行統計など) をプライマリに送信してデータベースに保持し、クエリに使用できるようにするために使用されます。

同様のメカニズムを使用して、統計情報をプライマリに送り返し、その後、すべてのセカンダリ レプリカに送り返します。 tempdbに格納されているすべてのセカンダリ レプリカで作成された一時的な統計は、プライマリ レプリカに送信され、永続化されるため、読み取り可能なすべてのセカンダリ レプリカで使用できるようになります。

サポートされているカタログの表示

セカンダリとプライマリの間での統計の作成/更新の比較をサポートし、統計が作成された場所を理解するために、 sys.stats カタログ ビューに次の 3 つの新しい列が追加されました。

Column name Data Type Description
replica_role_id tinyint このレプリカのレプリカ セット番号を識別します。 1 = プライマリ、2 = セカンダリ、3 = ジオ レプリケーション フォワーダー、4 = ジオ HA セカンダリ
replica_role_desc nvarchar(60) プライマリ、セカンダリ、Geo レプリケーション フォワーダー、Geo HA セカンダリ
replica_name sysname 可用性グループ内のレプリカのインスタンス名。 プライマリ レプリカに対して NULL されます