Share via


sys.database_query_store_options (Transact-SQL)

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Devuelve las opciones de Almacén de consultas para esta base de datos.

Nombre de la columna Tipo de datos Descripción
desired_state smallint Indica el modo de operación deseado de Almacén de consultas, establecido explícitamente por el usuario.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
4 = READ_CAPTURE_SECONDARY
desired_state_desc nvarchar(60) Descripción textual del modo de operación deseado de Almacén de consultas:

OFF
READ_ONLY
READ_WRITE
READ_CAPTURE_SECONDARY
actual_state smallint Indica el modo de operación de Almacén de consultas. Además de la lista de estados deseados requeridos por el usuario, el estado real puede ser un estado de error.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERROR
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) Descripción textual del modo de operación real de Almacén de consultas.

OFF
READ_ONLY
READ_WRITE
ERROR
READ_CAPTURE_SECONDARY

Hay situaciones en las que el estado real es diferente del estado deseado:
- Si la base de datos está establecida en modo de solo lectura, o si Almacén de consultas tamaño supera su cuota configurada, Almacén de consultas podría funcionar en modo de solo lectura incluso si especifica lectura y escritura.
- En escenarios extremos Almacén de consultas puede especificar un estado ERROR debido a errores internos. En SQL Server 2017 (14.x) y versiones posteriores, si esto sucede, se puede recuperar Almacén de consultas ejecutando el sp_query_store_consistency_check procedimiento almacenado en la base de datos afectada. Si la ejecución sp_query_store_consistency_check no funciona o si usa SQL Server 2016 (13.x), debe borrar los datos mediante la ejecución de . ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int desired_state_desc Cuando es READ_WRITE y actual_state_desc es READ_ONLY, readonly_reason devuelve un mapa de bits para indicar por qué el Almacén de consultas está en modo de lectura.

1 - la base de datos está en modo de solo lectura
2 - la base de datos está en modo de usuario único
4 - la base de datos está en modo de emergencia
8 - la base de datos es réplica secundaria (se aplica a los grupos de disponibilidad y a la replicación geográfica de Azure SQL Database). Este valor solo se puede observar de forma eficaz en readable las réplicas secundarias.
65536: el Almacén de consultas alcanzó el límite de tamaño establecido por la max_storage_size_mb opción . Para obtener más información sobre esta opción, vea OPCIONES ALTER DATABASE SET.
131072- El número de instrucciones diferentes en Almacén de consultas alcanzó el límite de memoria interna. Considere la posibilidad de quitar consultas que no necesite ni actualizar a un nivel de servicio superior para habilitar la transferencia de Almacén de consultas al modo de lectura y escritura.
262144 - El tamaño de los elementos en memoria que esperan conservarse en el disco alcanzó el límite de memoria interna. Almacén de consultas está en modo de solo lectura temporalmente hasta que los elementos en memoria se conservan en el disco.
524288 - La base de datos alcanzó el límite de tamaño del disco. 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, significa que ya no puede crecer Almacén de consultas.

Para volver al modo de operaciones de Almacén de consultas a lectura y escritura, consulte Comprobar que Almacén de consultas recopila datos de consulta continuamente.
current_storage_size_mb bigint Tamaño de Almacén de consultas en disco en megabytes.
flush_interval_seconds bigint Período de vaciado normal de Almacén de consultas datos en disco en segundos. El valor predeterminado es 900 (15 minutos).

Cambie mediante la ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) instrucción .
interval_length_minutes bigint Intervalo de agregación de estadísticas en minutos. No se permiten valores arbitrarios. Use uno de los siguientes valores: 1, , 105, 15, 30, , 60y 1440 minutos. El valor predeterminado es 60 minutos.
max_storage_size_mb bigint Tamaño máximo del disco para el Almacén de consultas en megabytes (MB). El valor predeterminado es de 100 MB hasta SQL Server 2017 (14.x) y 1 GB en SQL Server 2019 (15.x) y versiones posteriores.

Para la edición SQL Database Premium, el valor predeterminado es de 1 GB y, para sql Database Basic Edition, el valor predeterminado es de 10 MB.

Cambie mediante la ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) instrucción .
stale_query_threshold_days bigint Número de días que la información de una consulta se mantiene en la Almacén de consultas. El valor predeterminado es 30. Establézcalo en 0 para deshabilitar la directiva de retención.
Para la edición básica de SQL Database, el valor predeterminado es 7 días.

Cambie mediante la ALTER DATABASE <database> SET QUERY_STORE (CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = <value>)) instrucción .
max_plans_per_query bigint Limita el número máximo de planes almacenados. El valor predeterminado es 200. Si se alcanza el valor máximo, Almacén de consultas deja de capturar nuevos planes para esa consulta. Si se establece en , 0 se quita la limitación del número de planes capturados.

Cambie mediante la ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) instrucción .
query_capture_mode smallint Modo de captura de consulta activo actualmente:

1 = ALL : todas las consultas se capturan. Este es el valor de configuración predeterminado para SQL Server 2016 (13.x) y versiones posteriores.

2 = AUTO : captura las consultas pertinentes en función del recuento de ejecuciones y el consumo de recursos. Este es el valor de configuración predeterminado para SQL Database.

3 = NONE : deje de capturar nuevas consultas. Almacén de consultas sigue recopilando estadísticas de compilación y tiempo de ejecución para las consultas que ya se capturaron. Use esta configuración con precaución, ya que es posible que no capture consultas importantes.

4 = CUSTOM - Permite un mayor control sobre la directiva de captura de consultas mediante las opciones de QUERY_CAPTURE_POLICY.

Se aplica a: SQL Server 2019 (15.x) y versiones posteriores.
query_capture_mode_desc nvarchar(60) Descripción textual del modo de captura real de Almacén de consultas:

ALL (valor predeterminado para SQL Server 2016 (13.x) y versiones posteriores)

AUTO (valor predeterminado para SQL Database)

NONE

CUSTOM
capture_policy_execution_count int Opción de directiva del modo CUSTOM de captura de consultas. Define el número de veces que se ejecuta una consulta durante el período de evaluación. El valor predeterminado es 30.

Se aplica a: SQL Server 2019 (15.x) y versiones posteriores.
capture_policy_total_compile_cpu_time_ms bigint Opción de directiva del modo CUSTOM de captura de consultas. Define el tiempo total de CPU de compilación transcurrido que usa una consulta durante el período de evaluación. El valor predeterminado es 1000.

Se aplica a: SQL Server 2019 (15.x) y versiones posteriores.
capture_policy_total_execution_cpu_time_ms bigint Opción de directiva del modo CUSTOM de captura de consultas. Define el tiempo de ejecución total de CPU transcurrido que ha utilizado una consulta durante el período de evaluación. El valor predeterminado es 100.

Se aplica a: SQL Server 2019 (15.x) y versiones posteriores.
capture_policy_stale_threshold_hours int Opción de directiva del modo CUSTOM de captura de consultas. Define el período de intervalo de evaluación para determinar si se debe capturar una consulta. El valor predeterminado es 24 horas.

Se aplica a: SQL Server 2019 (15.x) y versiones posteriores.
size_based_cleanup_mode smallint Controla si la limpieza se activa automáticamente cuando la cantidad total de datos se acerca al tamaño máximo:

0 = OFF - La limpieza basada en el tamaño no se activa automáticamente.
1 = AUTO - la limpieza basada en el tamaño se activa automáticamente cuando el tamaño del disco alcanza el 90 % de max_storage_size_mb. Es el valor de configuración predeterminado.

La limpieza según el tamaño quita primero las consultas menos caras y más antiguas. Se detiene cuando se alcanza aproximadamente el 80 por ciento de max_storage_size_mb .
size_based_cleanup_mode_desc nvarchar(60) Descripción textual del modo de limpieza basado en tamaño real de Almacén de consultas:

OFF
AUTO (valor predeterminado)
wait_stats_capture_mode smallint Controla si Almacén de consultas realiza la captura de estadísticas de espera:

0 = OFF
1 = ON

Se aplica a: SQL Server 2017 (14.x) y versiones posteriores.
wait_stats_capture_mode_desc nvarchar(60) Descripción textual del modo de captura de estadísticas de espera reales:

OFF
ON (valor predeterminado)

Se aplica a: SQL Server 2017 (14.x) y versiones posteriores.
actual_state_additional_info nvarchar(4000) Actualmente no se está usando.

Permisos

Requiere el permiso VIEW DATABASE STATE.

Comentarios

Un actual_state_desc valor de READ_CAPTURE_SECONDARY es el estado esperado cuando se habilita Almacén de consultas para réplicas secundarias. Para obtener más información, consulte Almacén de consultas para réplicas secundarias.