Partager via


sp_query_store_unforce_plan (Transact-SQL)

S’applique à : SQL Server 2016 (13.x) et versions ultérieures Azure SQL Database Azure SQL Managed Instance

Active l’application d’un plan précédemment forcé pour une requête particulière dans le Magasin des requêtes.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_query_store_unforce_plan
    [ @query_id = ] query_id ,
    [ @plan_id = ] plan_id ,
    [ @force_plan_scope = ] 'replica_group_id'
[ ; ]

Arguments

[ @query_id = ] query_id

ID de la requête. @query_id est bigint, sans valeur par défaut.

[ @plan_id = ] plan_id

ID du plan de requête qui ne sera plus appliqué. @plan_id est bigint, sans valeur par défaut.

[ @force_plan_scope = ] 'replica_group_id'

Vous pouvez forcer et annuler les plans sur un réplica secondaire quand Magasin des requêtes pour les réplicas secondaires est activé. Exécutez sp_query_store_force_plan et sp_query_store_unforce_plan sur le réplica secondaire. L’argument @force_plan_scope facultatif est défini par défaut uniquement sur le réplica local, mais vous pouvez éventuellement spécifier un replica_group_id faisant référence à sys.query_store_plan_forcing_locations.

Valeurs des codes de retour

0 (réussite) or 1 (échec).

autorisations

Exige l’autorisation ALTER sur la base de données.

Exemples

L’exemple suivant retourne des informations sur les requêtes dans le Magasin des requêtes.

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;

Après avoir identifié les query_id et les plan_id que vous souhaitez annuler, utilisez l’exemple suivant pour annuler l’application du plan.

EXEC sp_query_store_unforce_plan 3, 3;