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

SE APLICA A: síSQL Server síAzure SQL Database síAzure Synapse Analytics (SQL DW) noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Devuelve las opciones de Almacén de consultas para esta base de datos.Returns the Query Store options for this database.

Se aplica a: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) y versiones posteriores), SQL DatabaseSQL Database.Applies to: SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later), SQL DatabaseSQL Database.

Nombre de columnaColumn name Tipo de datosData type DescripciónDescription
desired_statedesired_state smallintsmallint Indica el modo de operación deseado de Almacén de consultas, establecido explícitamente por el usuario.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) Descripción textual del modo de operación deseado de Almacén de consultas:Textual description of the desired operation mode of Query Store:
OFFOFF
READ_ONLYREAD_ONLY
READ_WRITEREAD_WRITE
actual_stateactual_state smallintsmallint Indica el modo de operación de Almacén de consultas.Indicates the operation mode of Query Store. Además de la lista de los Estados deseados requeridos por el usuario, el estado real puede ser un estado de error.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 = ERROR3 = ERROR
actual_state_descactual_state_desc nvarchar(60)nvarchar(60) Descripción textual del modo de operación real de Almacén de consultas.Textual description of the actual operation mode of Query Store.
OFFOFF
READ_ONLYREAD_ONLY
READ_WRITEREAD_WRITE
ERRORERROR

Hay situaciones en las que el estado real es diferente del estado deseado:There are situations when actual state is different from the desired state:
-Si la base de datos se establece en modo de solo lectura o si Almacén de consultas tamaño supera la cuota configurada, Almacén de consultas puede funcionar en modo de solo lectura aunque el usuario haya especificado la lectura y escritura.- 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.
-En escenarios extremos Almacén de consultas puede entrar en un estado de ERROR debido a errores internos.- In extreme scenarios Query Store can enter an ERROR state because of internal errors. Si esto ocurre, en SQL 2017 y versiones posteriores, se puede recuperar Almacén de consultas ejecutando el sp_query_store_consistency_check procedimiento almacenado en la base de datos afectada.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. Si la ejecución de sp_query_store_consistency_check no funciona y para SQL 2016, tendrá que borrar los datos mediante la ejecución de 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 Cuando se READ_WRITE la desired_state_desc y se READ_ONLY la actual_state_desc , readonly_reason devuelve un mapa de bits para indicar por qué el almacén de consultas está en modo de solo lectura.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 : la base de datos está en modo de solo lectura1 - database is in read-only mode

2 -la base de datos está en modo de usuario único2 - database is in single-user mode

4 -la base de datos está en modo de emergencia4 - database is in emergency mode

8 : la base de datos es una réplica secundaria (se aplica a Always On y Base de datos SQL de AzureAzure SQL Database la replicación geográfica).8 - database is secondary replica (applies to Always On and Base de datos SQL de AzureAzure SQL Database geo-replication). Este valor solo se puede observar en réplicas secundarias legiblesThis value can be effectively observed only on readable secondary replicas

65536 -el almacén de consultas ha alcanzado el límite de tamaño establecido por la opción MAX_STORAGE_SIZE_MB.65536 - the Query Store has reached the size limit set by the MAX_STORAGE_SIZE_MB option.

131072 -el número de instrucciones diferentes en almacén de consultas ha alcanzado el límite de memoria interna.131072 - The number of different statements in Query Store has reached the internal memory limit. Considere la posibilidad de quitar las consultas que no necesite o actualizar a un nivel de servicio superior para habilitar la transferencia de Almacén de consultas al modo de lectura y escritura.Consider removing queries that you do not need or upgrading to a higher service tier to enable transferring Query Store to read-write mode.
Se aplica a: Base de datos SQL de AzureAzure SQL Database.Applies to: Base de datos SQL de AzureAzure SQL Database.

262144 : el tamaño de los elementos en memoria que esperan ser persistentes en el disco ha alcanzado el límite de memoria interna.262144 - Size of in-memory items waiting to be persisted on disk has reached the internal memory limit. Almacén de consultas estará en modo de solo lectura temporalmente hasta que los elementos en memoria se conserven en el disco.Query Store will be in read-only mode temporarily until the in-memory items are persisted on disk.
Se aplica a: Base de datos SQL de AzureAzure SQL Database.Applies to: Base de datos SQL de AzureAzure SQL Database.

524288 : la base de datos ha alcanzado el límite de tamaño de disco.524288 - Database has reached disk size limit. Almacén de consultas forma parte de la base de datos de usuario, por lo que si no hay más espacio disponible para una base de datos, eso significa que Almacén de consultas ya no puede crecer.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.
Se aplica a: Base de datos SQL de AzureAzure SQL Database.Applies to: Base de datos SQL de AzureAzure SQL Database.

Para volver a cambiar el modo de operaciones de Almacén de consultas a lectura y escritura, consulte la sección comprobar almacén de consultas está recopilando datos de consulta continuamente en el almacén de consultas de prácticas recomendadas.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 Tamaño de Almacén de consultas en el disco en megabytes.Size of Query Store on disk in megabytes.
flush_interval_secondsflush_interval_seconds bigintbigint El período de vaciado normal de Almacén de consultas datos en el disco en segundos.The period for regular flushing of Query Store data to disk in seconds. El valor predeterminado es 900 (15 min).Default value is 900 (15 min).

Cambie mediante la instrucción 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 El intervalo de agregación de estadísticas en minutos.The statistics aggregation interval in minutes. No se permiten valores arbitrarios.Arbitrary values are not allowed. Use uno de los siguientes: 1, 5, 10, 15, 30, 60 y 1440 minutos.Use one of the following: 1, 5, 10, 15, 30, 60, and 1440 minutes. El valor predeterminado es de 60 minutos.The default value is 60 minutes.
max_storage_size_mbmax_storage_size_mb bigintbigint Tamaño máximo del disco para la Almacén de consultas en megabytes (MB).Maximum disk size for the Query Store in megabytes (MB). El valor predeterminado es 100 MB.Default value is 100 MB.
En el caso de SQL DatabaseSQL Database edición Premium, el valor predeterminado es 1 GB y para SQL DatabaseSQL Database edición Basic, el valor predeterminado es 10 MB.For SQL DatabaseSQL Database Premium edition, default is 1 GB and for SQL DatabaseSQL Database Basic edition, default is 10 MB.

Cambie mediante la instrucción 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 Número de días que las consultas sin configuración de directivas se mantienen en Almacén de consultas.Number of days that queries with no policy settings are kept in Query Store. El valor predeterminado es 30.Default value is 30. Establézcalo en 0 para deshabilitar la Directiva de retención.Set to 0 to disable the retention policy.
En la edición básica de SQL DatabaseSQL Database , el valor predeterminado es 7 días.For SQL DatabaseSQL Database Basic edition, default is 7 days.

Cambie mediante la instrucción 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 Limita el número máximo de planes almacenados.Limits the maximum number of stored plans. El valor predeterminado es 200.Default value is 200. Si se alcanza el valor máximo, Almacén de consultas deja de capturar nuevos planes para esa consulta.If the maximum value is reached, Query Store stops capturing new plans for that query. Si se establece en 0, se quita la limitación con respecto al número de planes capturados.Setting to 0 removes the limitation with regards to the number of captured plans.

Cambie mediante la instrucción 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 El modo de captura de consulta actualmente activo:The currently active query capture mode:

1 = todas las consultas se capturan.1 = ALL - all queries are captured. Este es el valor de configuración predeterminado para SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) y versiones posteriores).This is the default configuration value for SQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later).

2 = captura automática de consultas relevantes según el recuento de ejecución y el consumo de recursos.2 = AUTO - capture relevant queries based on execution count and resource consumption. Es el valor de configuración predeterminado para SQL DatabaseSQL Database.This is the default configuration value for SQL DatabaseSQL Database.

3 = ninguno: detiene la captura de nuevas consultas.3 = NONE - stop capturing new queries. El almacén de consultas seguirá recopilando estadísticas de compilación y tiempo de ejecución para las consultas que ya se capturaron.Query Store will continue to collect compile and runtime statistics for queries that were captured already. Use esta configuración con precaución, ya que puede que se pierda la captura de consultas importantes.Use this configuration cautiously since you may miss capturing important queries.
query_capture_mode_descquery_capture_mode_desc nvarchar(60)nvarchar(60) Descripción textual del modo de captura real de Almacén de consultas:Textual description of the actual capture mode of Query Store:

ALL (valor predeterminado para SQL Server 2016 (13.x)SQL Server 2016 (13.x))ALL (default for SQL Server 2016 (13.x)SQL Server 2016 (13.x))

Auto (valor predeterminado para SQL DatabaseSQL Database)AUTO (default for SQL DatabaseSQL Database)

NONENONE
size_based_cleanup_modesize_based_cleanup_mode smallintsmallint Controla si la limpieza se activará automáticamente cuando la cantidad total de datos se acerque al tamaño máximo:Controls whether cleanup will be automatically activated when total amount of data gets close to maximum size:

0 = la limpieza basada en el tamaño no se activará automáticamente.0 = OFF - size-based cleanup won't be automatically activated.

1 = la limpieza basada en el tamaño automático se activará automáticamente cuando el tamaño en disco alcance el 90 por ciento de 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. Es el valor de configuración predeterminado.This is the default configuration value.

La limpieza según el tamaño quita primero las consultas menos caras y más antiguas.Size-based cleanup removes the least expensive and oldest queries first. Se detiene cuando se alcanza aproximadamente el 80 por ciento de 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) Descripción textual del modo de limpieza real basado en el tamaño de Almacén de consultas:Textual description of the actual size-based cleanup mode of Query Store:

OFFOFF
Auto (valor predeterminado)AUTO (default)
wait_stats_capture_modewait_stats_capture_mode smallintsmallint Controla si Almacén de consultas realiza la captura de las estadísticas de espera:Controls whether Query Store performs capture of wait statistics:

0 = OFF0 = OFF
1 = activado1 = ON
Válido para : SQL Server 2017 (14.x)SQL Server 2017 (14.x) y versiones posteriores.Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x) and later.
wait_stats_capture_mode_descwait_stats_capture_mode_desc nvarchar(60)nvarchar(60) Descripción textual del modo real de captura de las estadísticas de espera:Textual description of the actual wait statistics capture mode:

OFFOFF
Activado (valor predeterminado)ON (default)
Válido para : SQL Server 2017 (14.x)SQL Server 2017 (14.x) y versiones posteriores.Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x) and later.

PermisosPermissions

Requiere el permiso VIEW DATABASE STATE.Requires the VIEW DATABASE STATE permission.

Vea tambiénSee 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)
Supervisar el rendimiento mediante el almacén de consultas Monitoring Performance By Using the Query Store
Vistas de catálogo (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)
Procedimientos (almacenados de almacén de consultas TRANSACT-SQL)Query Store Stored Procedures (Transact-SQL)