Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplica a: SQL Server 2016 (13.x) y versiones
posteriores Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
Habilita la aplicación de un plan forzado previamente para una consulta determinada en el Almacén de consultas.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_query_store_unforce_plan
[ @query_id = ] query_id ,
[ @plan_id = ] plan_id ,
[ @replica_group_id = ] 'replica_group_id'
[ ; ]
Argumentos
Importante
Los argumentos para los procedimientos almacenados extendidos deben especificarse en el orden específico, tal como se describe en la sección sintaxis de . Si los parámetros se escriben fuera de orden, se produce un mensaje de error.
[ @query_id = ] query_id
Identificador de la consulta. @query_id es bigint, sin valor predeterminado.
[ @plan_id = ] plan_id
Identificador del plan de consulta que ya no se aplicará. @plan_id es bigint, sin valor predeterminado.
[ @replica_group_id = ] 'replica_group_id'
Puede deshacer planes en una réplica secundaria cuando el Almacén de consultas para secundarias legibles esté habilitado. Ejecute sp_query_store_force_plan y sp_query_store_unforce_plan en la réplica principal. El uso del argumento @replica_group_id tiene como valor predeterminado la réplica local donde se ejecuta el comando, pero puede especificar un replica_group_id haciendo referencia a la vista de catálogo del sistema sys.query_store_plan_forcing_locations .
Valores de código de retorno
0 (correcto) o 1 (erróneo).
Permisos
Requiere el ALTER permiso en la base de datos.
Observaciones
La tienda de consultas para réplicas secundarias está compatible a partir de SQL Server 2025 (17.x) y versiones posteriores, así como en Azure SQL Database. Para soporte completo de plataforma, consulte Tienda de consultas para réplicas secundarias.
Ejemplos
En el ejemplo siguiente se devuelve información sobre las consultas del Almacén de consultas.
SELECT txt.query_text_id,
txt.query_sql_text,
pl.plan_id,
qry.*
FROM sys.query_store_plan AS pl
INNER JOIN sys.query_store_query AS qry
ON pl.query_id = qry.query_id
INNER JOIN sys.query_store_query_text AS txt
ON qry.query_text_id = txt.query_text_id;
Después de identificar el query_id y plan_id que desea deshacer, use el ejemplo siguiente para deshacer el plan.
EXECUTE sp_query_store_unforce_plan 3, 3;
Contenido relacionado
- sys.query_store_replicas (Transact-SQL)
- sys.query_store_plan_forcing_locations (Transact-SQL)
- sp_query_store_force_plan (Transact-SQL)
- sp_query_store_remove_plan (Transact-SQL)
- sp_query_store_remove_query (Transact-SQL)
- sp_query_store_reset_exec_stats (Transact-SQL)
- sp_query_store_flush_db (Transact-SQL)
- Vistas del catálogo del almacén de consultas (Transact-SQL)
- Supervisión del rendimiento mediante el Almacén de consultas
- Procedimiento recomendado con el Almacén de consultas