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 SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse 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 SQL ServerSQL Server que 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_idEs 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_idEs 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)

ComentariosRemarks

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 el 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 Almacén de consultas Monitoring 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