sp_query_store_force_plan (Transact-SQL)sp_query_store_force_plan (Transact-SQL)

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

Permite forzar un plan determinado para una consulta determinada.Enables forcing a particular plan for a particular query.

Cuando se fuerza un plan para una consulta determinada, cada vez que SQL ServerSQL Server encuentra la consulta, intenta forzar el plan en el optimizador de consultas.When a plan is forced for a particular query, every time SQL ServerSQL Server encounters the query, it tries to force the plan in the Query Optimizer. Si se produce un error al forzar el plan, se desencadena un evento extendido y se indica al optimizador de consultas que se optimice de la manera normal.If plan forcing fails, an Extended Event is fired and the Query Optimizer is instructed to optimize in the normal way.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

sp_query_store_force_plan [ @query_id = ] query_id , [ @plan_id = ] plan_id [;]  

ArgumentosArguments

[ @query_id = ] query_id es el identificador de la consulta.[ @query_id = ] query_id Is the id of the query. query_id es de tipo BIGINTy no tiene ningún valor predeterminado.query_id is a bigint, with no default.

[ @plan_id = ] plan_id es el identificador del plan de consulta que se va a forzar.[ @plan_id = ] plan_id Is the id of the query plan to be forced. plan_id es de tipo BIGINTy no tiene ningún valor predeterminado.plan_id is a bigint, with no default.

Valores de código de retornoReturn Code Values

0 (correcto) o 1 (error)0 (success) or 1 (failure)

RemarksRemarks

PermisosPermissions

Requiere el permiso ALTER en la base de datos.Requires the ALTER permission on the database.

EjemplosExamples

En el ejemplo siguiente se devuelve información sobre las consultas en el almacén de consultas.The following example returns information about the queries in the query store.

SELECT Txt.query_text_id, Txt.query_sql_text, Pl.plan_id, Qry.*  
FROM sys.query_store_plan AS Pl  
JOIN sys.query_store_query AS Qry  
    ON Pl.query_id = Qry.query_id  
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 forzar, use el ejemplo siguiente para forzar que la consulta use un plan.After you identify the query_id and plan_id that you want to force, use the following example to force the query to use a plan.

EXEC sp_query_store_force_plan 3, 3;  

Vea tambiénSee Also

sp_query_store_remove_plan (Transct-SQL) sp_query_store_remove_plan (Transct-SQL)
sp_query_store_remove_query (Transact-SQL) sp_query_store_remove_query (Transact-SQL)
sp_query_store_unforce_plan (Transact-SQL) sp_query_store_unforce_plan (Transact-SQL)
Query Store Catalog Views (Transact-SQL) (Vistas de catálogo del almacén de consultas (Transact-SQL)) Query Store Catalog Views (Transact-SQL)
Supervisar el rendimiento mediante el de almacén de consultasMonitoring Performance by using the Query Store
sp_query_store_reset_exec_stats (Transact-SQL) sp_query_store_reset_exec_stats (Transact-SQL)
sp_query_store_flush_db (Transact-SQL) sp_query_store_flush_db (Transact-SQL)
Procedimiento recomendado con el Almacén de consultasBest Practice with the Query Store