sys.database_query_store_options (TRANSACT-SQL)sys.database_query_store_options (Transact-SQL)

適用対象: ○SQL Server ○Azure SQL Database ○Azure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse noParallel Data Warehouse

このデータベースのクエリ ストア オプションを返します。Returns the Query Store options for this database.

適用対象: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) から SQL Server 2017SQL Server 2017)、SQL DatabaseSQL DatabaseApplies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017), SQL DatabaseSQL Database.

列名Column name データ型Data type 説明Description
desired_statedesired_state smallintsmallint ユーザーによって明示的に設定、クエリ ストアの目的の操作モードを示します。Indicates the desired operation mode of Query Store, explicitly set by user.
0 = OFF0 = OFF
1 = READ_ONLY1 = READ_ONLY
2 = READ_WRITE2 = READ_WRITE
desired_state_descdesired_state_desc nvarchar(60)nvarchar(60) クエリ ストアの目的の操作モードの説明テキスト。Textual description of the desired operation mode of Query Store:
OFFOFF
READ_ONLYREAD_ONLY
READ_WRITEREAD_WRITE
actual_stateactual_state smallintsmallint クエリ ストアの操作モードを示します。Indicates the operation mode of Query Store. だけでなく、ユーザーが必要な目的の状態の一覧は、実際の状態がエラー状態を指定できます。In addition to list of desired states required by the user, actual state can be an error state.
0 = OFF0 = OFF
1 = READ_ONLY1 = READ_ONLY
2 = READ_WRITE2 = READ_WRITE
3 = エラー3 = ERROR
actual_state_descactual_state_desc nvarchar(60)nvarchar(60) クエリ ストアの実際の操作モードの説明テキストです。Textual description of the actual operation mode of Query Store.
OFFOFF
READ_ONLYREAD_ONLY
READ_WRITEREAD_WRITE
ERRORERROR

実際の状態が、目的の状態と異なる場合は、状況があります。There are situations when actual state is different from the desired state:
-データベースが読み取り専用モードに設定されている場合、またはクエリ ストアのサイズが構成されているクォータを超えた場合は、クエリ ストアは、読み取り/書き込みが、ユーザーが指定されていた場合でも読み取り専用モードで動作可能性があります。- If the database is set to read-only mode or if Query Store size exceeds its configured quota, Query Store may operate in read-only mode even if read-write was specified by the user.
極端なシナリオでクエリ ストアは、内部エラーにより、エラー状態を入力できます。- In extreme scenarios Query Store can enter an ERROR state because of internal errors. クエリ ストアを実行して回復できるこのような場合、SQL 2017 以降で、sp_query_store_consistency_check影響を受けたデータベースでストアド プロシージャ。If this happens, for SQL 2017 and later, Query Store can be recovered by executing the sp_query_store_consistency_check stored procedure in the affected database. 実行されている場合sp_query_store_consistency_check動作しないと、SQL 2016 を実行して、データを消去する必要があります ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;If running sp_query_store_consistency_check doesn't work and for SQL 2016, you will need to clear the data by running ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reasonreadonly_reason intint ときに、 desired_state_descは READ_WRITE ですおよびactual_state_descが READ_ONLY、 readonly_reason返しますは少しをクエリ ストアがであるかを示すマップ。読み取り専用モードです。When the desired_state_desc is READ_WRITE and the actual_state_desc is READ_ONLY, readonly_reason returns a bit map to indicate why the Query Store is in readonly mode.

1 -データベースが読み取り専用モード1 - database is in read-only mode

2 -データベースがシングル ユーザー モード2 - database is in single-user mode

4 -データベースが緊急モード4 - database is in emergency mode

8 -データベースがセカンダリ レプリカ (Always On の対象とAzure SQL データベースAzure SQL Databasegeo レプリケーション)。8 - database is secondary replica (applies to Always On and Azure SQL データベースAzure SQL Database geo-replication). のみ、この値を効果的に確認できます読み取り可能なセカンダリ レプリカThis value can be effectively observed only on readable secondary replicas

65536 -クエリ ストアは MAX_STORAGE_SIZE_MB オプションによって設定されたサイズ制限に達しました。65536 - the Query Store has reached the size limit set by the MAX_STORAGE_SIZE_MB option.

131072 -クエリのストア内の別のステートメントの数が内部メモリの上限に達しました。131072 - The number of different statements in Query Store has reached the internal memory limit. 不要なクエリを削除するか、クエリ ストアを読み取り/書き込みモードに転送を有効にする上位のサービス階層へのアップグレードを検討してください。Consider removing queries that you do not need or upgrading to a higher service tier to enable transferring Query Store to read-write mode.
適用対象: Azure SQL データベースAzure SQL Database」を参照してください。Applies to: Azure SQL データベースAzure SQL Database.

262144 -ディスク上に保存するを待機しているメモリ内の項目のサイズが内部メモリの上限に達しました。262144 - Size of in-memory items waiting to be persisted on disk has reached the internal memory limit. クエリ ストアは、メモリ内の項目がディスクに保存されるまで一時的に読み取り専用モードになります。Query Store will be in read-only mode temporarily until the in-memory items are persisted on disk.
適用対象: Azure SQL データベースAzure SQL Database」を参照してください。Applies to: Azure SQL データベースAzure SQL Database.

524288 -データベースはディスク サイズの上限に達しました。524288 - Database has reached disk size limit. クエリ ストア データベースに属しているユーザー、クエリ ストアをさらに拡張できないことを意味するデータベースは、できない場合の領域がない場合、できなくなります。Query Store is part of user database, so if there is no more available space for a database, that means that Query Store cannot grow further anymore.
適用対象: Azure SQL データベースAzure SQL Database」を参照してください。Applies to: Azure SQL データベースAzure SQL Database.

クエリ ストアの操作を切り替えるモード戻る読み取り/書き込みを参照してください検証クエリ ストアは継続にクエリのデータを収集クエリ ストアに関するベスト プラクティスとしてします。To switch the Query Store operations mode back to read-write, see Verify Query Store is Collecting Query Data Continuously section of Best Practice with the Query Store.
current_storage_size_mbcurrent_storage_size_mb bigintbigint メガバイト単位でディスク上のクエリのストアのサイズ。Size of Query Store on disk in megabytes.
flush_interval_secondsflush_interval_seconds bigintbigint クエリを定期的にフラッシュする期間は、秒単位でディスクにデータを格納します。The period for regular flushing of Query Store data to disk in seconds. 既定値は900 (15 分)。Default value is 900 (15 min).

使用して、変更、ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>)ステートメント。Change by using the ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) statement.
interval_length_minutesinterval_length_minutes bigintbigint 分単位で統計の集計間隔です。The statistics aggregation interval in minutes. 任意の値を指定することはできません。Arbitrary values are not allowed. 次のいずれかを使用します:1、5、10、15、30、60、および 1440 分です。Use one of the following: 1, 5, 10, 15, 30, 60, and 1440 minutes. 既定値は60分。The default value is 60 minutes.
max_storage_size_mbmax_storage_size_mb bigintbigint メガバイト (MB) 単位でクエリ ストアの最大ディスク サイズです。Maximum disk size for the Query Store in megabytes (MB). 既定値は100 MB です。Default value is 100 MB.
SQL DatabaseSQL Database Premium edition の既定値は 1 GB とSQL DatabaseSQL DatabaseBasic エディションの既定値は 10 MB です。For SQL DatabaseSQL Database Premium edition, default is 1 GB and for SQL DatabaseSQL Database Basic edition, default is 10 MB.

使用して、変更、ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>)ステートメント。Change by using the ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) statement.
stale_query_threshold_daysstale_query_threshold_days bigintbigint ポリシー設定を持たないクエリがクエリのストアに保存しておく日数。Number of days that queries with no policy settings are kept in Query Store. 既定値は30します。Default value is 30. リテンション期間ポリシーを無効にする 0 に設定します。Set to 0 to disable the retention policy.
SQL DatabaseSQL Database Basic エディションの場合、既定の日数は 7 日です。For SQL DatabaseSQL Database Basic edition, default is 7 days.

使用して、変更、ALTER DATABASE <database> SET QUERY_STORE ( CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = <value> ) )ステートメント。Change by using the ALTER DATABASE <database> SET QUERY_STORE ( CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = <value> ) ) statement.
max_plans_per_querymax_plans_per_query bigintbigint ストアド プランの最大数を制限します。Limits the maximum number of stored plans. 既定値は200します。Default value is 200. 最大値に達すると、クエリ ストアは、そのクエリの新しいプランをキャプチャを停止します。If the maximum value is reached, Query Store stops capturing new plans for that query. 0 に設定には、キャプチャしたプランの数に関して制限が削除されます。Setting to 0 removes the limitation with regards to the number of captured plans.

使用して、変更、ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>)ステートメント。Change by using the ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) statement.
query_capture_modequery_capture_mode smallintsmallint 現在アクティブなクエリ キャプチャ モード:The currently active query capture mode:

1 = すべて - すべてのクエリがキャプチャされます。1 = ALL - all queries are captured. これは、既定の構成値 SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x)を通じて SQL Server 2017SQL Server 2017)。This is the default configuration value for SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017).

2 = 自動 - 実行の数とリソースの消費量に基づいて関連するクエリをキャプチャします。2 = AUTO - capture relevant queries based on execution count and resource consumption. これは、既定の構成値のSQL DatabaseSQL Databaseします。This is the default configuration value for SQL DatabaseSQL Database.

3 = なし - 新しいクエリのキャプチャを停止します。3 = NONE - stop capturing new queries. クエリ ストアは、既にキャプチャされたクエリのコンパイルと実行時の統計情報を収集し続けます。Query Store will continue to collect compile and runtime statistics for queries that were captured already. 重要なクエリのキャプチャされない可能性がありますので、この構成を注意深く使用します。Use this configuration cautiously since you may miss capturing important queries.
query_capture_mode_descquery_capture_mode_desc nvarchar(60)nvarchar(60) クエリ ストアの実際のキャプチャ モードの説明テキスト。Textual description of the actual capture mode of Query Store:

すべて (既定値をSQL Server 2016 (13.x)SQL Server 2016 (13.x))ALL (default for SQL Server 2016 (13.x)SQL Server 2016 (13.x))

自動(既定値をSQL DatabaseSQL Database)AUTO (default for SQL DatabaseSQL Database)

なしNONE
size_based_cleanup_modesize_based_cleanup_mode smallintsmallint データの総量が最大サイズに近づいたときに、クリーンアップを自動的にアクティブにするかどうかを制御します。Controls whether cleanup will be automatically activated when total amount of data gets close to maximum size:

0 = OFF - サイズに基づくクリーンアップを自動的にアクティブ化されません。0 = OFF - size-based cleanup won't be automatically activated.

1 = 自動 - サイズに基づくクリーンアップはディスク上のサイズに達すると自動的にアクティブ90%max_storage_size_mbします。1 = AUTO - size-based cleanup will be automatically activated when size on disk reaches 90 percent of max_storage_size_mb. これは既定の構成値です。This is the default configuration value.

サイズのクリーンアップでは、まず最も安価で最も古いクエリを削除します。Size-based cleanup removes the least expensive and oldest queries first. 約停止した80%max_storage_size_mbに到達します。It stops when approximately 80 percent of max_storage_size_mb is reached.
size_based_cleanup_mode_descsize_based_cleanup_mode_desc nvarchar(60)nvarchar(60) クエリ ストアの実際のサイズに基づくクリーンアップ モードの説明テキスト。Textual description of the actual size-based cleanup mode of Query Store:

OFFOFF
自動(既定値)AUTO (default)
wait_stats_capture_modewait_stats_capture_mode smallintsmallint クエリ ストア待機統計情報のキャプチャを実行するかどうかを制御します。Controls whether Query Store performs capture of wait statistics:

0 = OFF0 = OFF
1 = ON1 = ON
適用対象: SQL Server 2017 (14.x)SQL Server 2017 (14.x) から SQL Server 2017SQL Server 2017Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x) through SQL Server 2017SQL Server 2017.
wait_stats_capture_mode_descwait_stats_capture_mode_desc nvarchar(60)nvarchar(60) 実際の待機統計情報のキャプチャ モードの説明テキスト。Textual description of the actual wait statistics capture mode:

OFFOFF
ON (既定値)ON (default)
適用対象: SQL Server 2017 (14.x)SQL Server 2017 (14.x) から SQL Server 2017SQL Server 2017Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x) through SQL Server 2017SQL Server 2017.

アクセス許可Permissions

VIEW DATABASE STATE アクセス許可が必要です。Requires the VIEW DATABASE STATE permission.

関連項目See Also

sys.query_context_settings (TRANSACT-SQL) sys.query_context_settings (Transact-SQL)
sys.query_store_plan (TRANSACT-SQL) sys.query_store_plan (Transact-SQL)
sys.query_store_query (TRANSACT-SQL) sys.query_store_query (Transact-SQL)
sys.query_store_query_text (TRANSACT-SQL) sys.query_store_query_text (Transact-SQL)
sys.query_store_runtime_stats (TRANSACT-SQL) sys.query_store_runtime_stats (Transact-SQL)
sys.query_store_wait_stats (Transact-SQL)sys.query_store_wait_stats (Transact-SQL)
sys.query_store_runtime_stats_interval (TRANSACT-SQL) sys.query_store_runtime_stats_interval (Transact-SQL)
クエリのストアを使用した、パフォーマンスの監視 Monitoring Performance By Using the Query Store
カタログ ビュー (Transact-SQL) Catalog Views (Transact-SQL)
sys.fn_stmt_sql_handle_from_sql_stmt (TRANSACT-SQL) sys.fn_stmt_sql_handle_from_sql_stmt (Transact-SQL)
クエリ ストアのストアド プロシージャ(TRANSACT-SQL)Query Store Stored Procedures (Transact-SQL)