sys.database_query_store_options (Transact-SQL)
Se aplica a: SQL Server 2016 (13.x) y versiones posteriores
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Devuelve las opciones de Almacén de consultas para esta base de datos.
Se aplica a: SQL Server (SQL Server 2016 (13.x) y versiones posteriores), SQL Database.
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: Apagado 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. Apagado 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 puede funcionar en modo de solo lectura incluso si el usuario especificó lectura-escritura. - En escenarios extremos Almacén de consultas puede especificar un estado ERROR debido a errores internos. A partir de SQL Server 2017 (14.x), si esto sucede, el Almacén de consultas se puede recuperar mediante la ejecución del procedimiento almacenado sp_query_store_consistency_check 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), deberá borrar los datos mediante la ejecución de .ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL; |
readonly_reason | int | Cuando el desired_state_desc es READ_WRITE y el 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 réplicas secundarias legibles . 65536: el Almacén de consultas ha alcanzado 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 DE ALTER DATABASE SET (Transact-SQL).131072: el número de instrucciones diferentes en Almacén de consultas ha alcanzado el límite de memoria interna. Considere la posibilidad de quitar las consultas que no necesita o actualizar a un nivel de servicio superior para permitir 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 ha alcanzado el límite de memoria interno. Almacén de consultas estará en modo de solo lectura temporalmente hasta que los elementos en memoria se conserven en el disco. 524288 : la base de datos ha alcanzado 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 Almacén de consultas ya no puede crecer. Para volver al modo de operaciones de Almacén de consultas a lectura y escritura, vea Comprobar que Almacén de consultas está recopilando datos de consulta continuamente en la sección Procedimiento recomendado con el Almacén de consultas. |
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: 1, 5, 10, 15, 30, 60 y 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 a partir de SQL Server 2019 (15.x). En la edición SQL Database Premium, el valor predeterminado es 1 GB y en la edición SQL Database Basic, el valor predeterminado es 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 el Almacén de consultas. El valor predeterminado es 30. Establezca en 0 para deshabilitar la directiva de retención. En la edición SQL Database Basic, 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 con respecto al 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: se capturan todas las consultas. Este es el valor de configuración predeterminado para SQL Server (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. El almacén de consultas seguirá 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 control adicional sobre la directiva de captura de consultas mediante las opciones de QUERY_CAPTURE_POLICY. Válido para : 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)) AUTO (valor predeterminado para SQL Database) Ninguno CUSTOM |
capture_policy_execution_count | int | Opción de directiva PERSONALIZADA modo 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. Válido para : SQL Server 2019 (15.x) y versiones posteriores. |
capture_policy_total_compile_cpu_time_ms | bigint | Opción de directiva PERSONALIZADA modo 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. Válido para : SQL Server 2019 (15.x) y versiones posteriores. |
capture_policy_total_execution_cpu_time_ms | bigint | Opción de directiva PERSONALIZADA modo 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. Válido para : SQL Server 2019 (15.x) y versiones posteriores. |
capture_policy_stale_threshold_hours | int | Opción de directiva PERSONALIZADA modo 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. Válido para : SQL Server 2019 (15.x) y versiones posteriores. |
size_based_cleanup_mode | smallint | Controla si la limpieza se activará automáticamente cuando la cantidad total de datos se acerque al tamaño máximo: 0 = OFF: la limpieza basada en el tamaño no se activará automáticamente. 1 = AUTO: la limpieza basada en el tamaño se activará automáticamente cuando el tamaño del disco alcance el 90 % del 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 % 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: Apagado 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 posterior. |
wait_stats_capture_mode_desc | nvarchar(60) | Descripción textual del modo de captura de estadísticas de espera reales: Apagado ON (valor predeterminado) Se aplica a: SQL Server 2017 (14.x) y posterior. |
actual_state_additional_info | nvarchar(8000) | 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.
Pasos siguientes
- 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)
- Supervisar el rendimiento mediante el Almacén de consultas
- Vistas de catálogo (Transact-SQL)
- sys.fn_stmt_sql_handle_from_sql_stmt (Transact-SQL)
- Procedimientos almacenados en el almacén de consultas (Transact-SQL)
Comentarios
Enviar y ver comentarios de