sys.database_query_store_options (Transact-SQL)
適用対象: SQL Server 2016 (13.x) 以降 Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics
このデータベースのクエリ ストア オプションを返します。
適用対象: SQL Server (SQL Server 2016 (13.x) 以降)、SQL Database。
列名 | データ型 | 説明 |
---|---|---|
desired_state | smallint | ユーザーによって明示的に設定された、クエリ ストアの目的の操作モードを示します。 0 = OFF 1 = READ_ONLY 2 = READ_WRITE 4 = READ_CAPTURE_SECONDARY |
desired_state_desc | nvarchar(60) | クエリ ストアの目的の操作モードのテキスト説明: OFF READ_ONLY READ_WRITE READ_CAPTURE_SECONDARY |
actual_state | smallint | クエリ ストアの操作モードを示します。 ユーザーが必要とする必要な状態の一覧に加えて、実際の状態はエラー状態になる可能性があります。 0 = OFF 1 = READ_ONLY 2 = READ_WRITE 3 = ERROR 4 = READ_CAPTURE_SECONDARY |
actual_state_desc | nvarchar(60) | クエリ ストアの実際の操作モードのテキスト説明。 OFF READ_ONLY READ_WRITE ERROR READ_CAPTURE_SECONDARY 実際の状態が目的の状態と異なる場合があります。 - データベースが読み取り専用モードに設定されている場合、またはクエリ ストアサイズが構成されているクォータを超えた場合、クエリ ストアは、ユーザーが読み取り/書き込みを指定した場合でも、読み取り専用モードで動作する可能性があります。 - 極端なシナリオでは、クエリ ストア内部エラーが原因で ERROR 状態になる可能性があります。 SQL Server 2017 (14.x) 以降では、これが発生した場合、影響を受けたデータベース内で sp_query_store_consistency_check ストアド プロシージャを実行することで、クエリ ストアを復旧させることができます。 実行中sp_query_store_consistency_check が機能しない場合、または SQL Server 2016 (13.x) を使用している場合は、 を実行してデータをクリアする必要がありますALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL; |
readonly_reason | int | desired_state_descがREAD_WRITEされ、actual_state_descがREAD_ONLYされると、readonly_reasonはビット マップを返して、クエリ ストアが読み取り専用モードである理由を示します。 1 - データベースが読み取り専用モードである 2 - データベースがシングル ユーザー モードである 4 - データベースが緊急モードである 8 - データベースはセカンダリ レプリカです (可用性グループとデータベース geo レプリケーションAzure SQL適用されます)。 この値は、 読み取り可能な セカンダリ レプリカでのみ効果的に確認できます 65536 - クエリ ストアが オプションによって設定されたサイズ制限に MAX_STORAGE_SIZE_MB 達しました。 このオプションの詳細については、「 ALTER DATABASE SET オプション (Transact-SQL)」を参照してください。131072 - クエリ ストア内の異なるステートメントの数が内部メモリ制限に達しました。 クエリ ストアを読み取り/書き込みモードに転送できるようにするには、不要なクエリを削除するか、より高いサービス レベルにアップグレードすることを検討してください。 262144 - ディスクに保持されるのを待機しているメモリ内アイテムのサイズが内部メモリ制限に達しました。 クエリ ストアは、メモリ内アイテムがディスクに保持されるまで、一時的に読み取り専用モードになります。 524288 - データベースがディスク サイズの制限に達しました。 クエリ ストアはユーザー データベースの一部であるため、データベースに使用可能な領域がなくなった場合は、クエリ ストアがこれ以上拡張できないことを意味します。 クエリ ストア操作モードを読み取り/書き込みに切り替えるには、「クエリ ストアを使用したベスト プラクティス」の「クエリ ストアがクエリ データを継続的に収集することを確認する」セクションを参照してください。 |
current_storage_size_mb | bigint | ディスク上のクエリ ストアのサイズ (メガバイト単位)。 |
flush_interval_seconds | bigint | クエリ ストアデータをディスクに定期的にフラッシュする期間 (秒単位)。 既定値は 900 (15 分) です。 ステートメントを使用して変更します ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) 。 |
interval_length_minutes | bigint | 統計集計間隔 (分単位)。 任意の値は使用できません。 1、5、10、15、30、60、1440 分のいずれかを使用します。 既定値は 60 分です。 |
max_storage_size_mb | bigint | クエリ ストアの最大ディスク サイズ (MB)。 既定値は、2017 (14.x) SQL Serverまで 100 MB、SQL Server 2019 (15.x) 以降では 1 GB です。 SQL Database Premium Edition の既定値は 1 GB、SQL Database Basic エディションの既定値は 10 MB です。 ステートメントを使用して変更します ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) 。 |
stale_query_threshold_days | bigint | クエリの情報がクエリ ストアに保持される日数。 既定値は 30 です。 アイテム保持ポリシーを無効にするには、0 に設定します。 SQL Database Basic エディションの場合、既定の日数は 7 日です。 ステートメントを使用して変更します ALTER DATABASE <database> SET QUERY_STORE ( CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = <value> ) ) 。 |
max_plans_per_query | bigint | 格納されているプランの最大数を制限します。 既定値は 200 です。 最大値に達すると、クエリ ストアはそのクエリの新しいプランのキャプチャを停止します。 0 に設定すると、キャプチャされたプランの数に関する制限が解除されます。 ステートメントを使用して変更します ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) 。 |
query_capture_mode | smallint | 現在アクティブなクエリ キャプチャ モード: 1 = ALL - すべてのクエリがキャプチャされます。 これは、SQL Server (SQL Server 2016 (13.x) 以降) の既定の構成値です。 2 = AUTO - 実行数とリソース消費量に基づいて関連するクエリをキャプチャします。 これは、SQL Databaseの既定の構成値です。 3 = NONE - 新しいクエリのキャプチャを停止します。 クエリ ストアは、既にキャプチャされたクエリのコンパイルと実行時の統計情報を収集し続けます。 重要なクエリのキャプチャが間違っている可能性があるため、この構成は慎重に使用してください。 4 = CUSTOM - QUERY_CAPTURE_POLICY オプションを使用してクエリ キャプチャ ポリシーをさらに制御できます。 適用対象: SQL Server 2019 (15.x) 以降。 |
query_capture_mode_desc | nvarchar(60) | クエリ ストアの実際のキャプチャ モードのテキスト説明: ALL (SQL Server 2016 (13.x) の既定値) AUTO (SQL Databaseの既定値) NONE CUSTOM |
capture_policy_execution_count | int | クエリ キャプチャ モードのカスタム ポリシー オプション。 評価期間中、クエリを実行する回数を定義します。 既定値は 30 です。 適用対象: SQL Server 2019 (15.x) 以降。 |
capture_policy_total_compile_cpu_time_ms | bigint | クエリ キャプチャ モードのカスタム ポリシー オプション。 評価期間中、クエリで使用されるコンパイル CPU 時間の合計経過時間を定義します。 既定値は 1000 です。 適用対象: SQL Server 2019 (15.x) 以降。 |
capture_policy_total_execution_cpu_time_ms | bigint | クエリ キャプチャ モードのカスタム ポリシー オプション。 評価期間中、クエリによって使用される実行 CPU の合計経過時間を定義します。 既定値は、100 です。 適用対象: SQL Server 2019 (15.x) 以降。 |
capture_policy_stale_threshold_hours | int | クエリ キャプチャ モードのカスタム ポリシー オプション。 クエリをキャプチャすべきかどうかを決定する評価の間隔を定義します。 既定値は 24 時間です。 適用対象: SQL Server 2019 (15.x) 以降。 |
size_based_cleanup_mode | smallint | データの総量が最大サイズに近づいたときに、クリーンアップを自動的にアクティブにするかどうかを制御します。 0 = OFF - サイズベースのクリーンアップは自動的にアクティブ化されません。 1 = AUTO - ディスク上のサイズがmax_storage_size_mbの 90% に達すると、サイズベースのクリーンアップが自動的にアクティブ化されます。 これは既定の構成値です。 サイズのクリーンアップでは、まず最も安価で最も古いクエリを削除します。 max_storage_size_mbの約 80% に達すると停止します。 |
size_based_cleanup_mode_desc | nvarchar(60) | クエリ ストアの実際のサイズベースのクリーンアップ モードのテキスト説明: OFF AUTO (既定値) |
wait_stats_capture_mode | smallint | 待機統計のキャプチャクエリ ストア実行するかどうかを制御します。 0 = OFF 1 = ON 適用対象: SQL Server 2017 (14.x) 以降。 |
wait_stats_capture_mode_desc | nvarchar(60) | 実際の待機統計キャプチャ モードのテキスト説明: OFF ON (既定値) 適用対象: SQL Server 2017 (14.x) 以降。 |
actual_state_additional_info | nvarchar(8000) | 現在使用されていません。 |
アクセス許可
VIEW DATABASE STATE
アクセス許可が必要です。
注釈
actual_state_desc
READ_CAPTURE_SECONDARY の値は、セカンダリ レプリカのクエリ ストアが有効になっている場合の予期される状態です。 詳細については、「セカンダリ レプリカのクエリ ストア」を参照してください。
次の手順
- sys.query_context_settings (Transact-SQL)
- sys.query_store_plan (Transact-SQL)
- sys.query_store_query (Transact-SQL)
- sys.query_store_query_text (Transact-SQL)
- sys.query_store_runtime_stats (Transact-SQL)
- sys.query_store_wait_stats (Transact-SQL)
- sys.query_store_runtime_stats_interval (Transact-SQL)
- クエリのストアを使用した、パフォーマンスの監視
- カタログ ビュー (Transact-SQL)
- sys.fn_stmt_sql_handle_from_sql_stmt (Transact-SQL)
- クエリ ストアのストアド プロシージャ (Transact-SQL)
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示