Dela via


sp_query_store_unforce_plan (Transact-SQL)

gäller för: SQL Server 2016 (13.x) och senare Azure SQL DatabaseAzure SQL Managed Instance

Aktiverar tvingande av en tidigare tvingad plan för en viss fråga i Query Store.

Transact-SQL syntaxkonventioner

Syntax

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

Argument

Viktig

Argument för utökade lagrade procedurer måste anges i den specifika ordning som beskrivs i avsnittet Syntax. Om parametrarna anges i fel ordning visas ett felmeddelande.

[ @query_id = ] query_id

ID:t för frågan. @query_id är bigint, utan standard.

[ @plan_id = ] plan_id

ID:t för den frågeplan som inte längre ska tillämpas. @plan_id är bigint, utan standard.

[ @force_plan_scope = ] "replica_group_id"

Du kan ta bort force-planer på en sekundär replik när Query Store för sekundära repliker är aktiverat. Kör sp_query_store_force_plan och sp_query_store_unforce_plan på den primära repliken. Med argumentet @force_plan_scope används som standard den lokala replik där kommandot körs, men du kan ange en replica_group_id som refererar till sys.query_store_plan_forcing_locations systemkatalogvyn.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Behörigheter

Kräver ALTER-behörigheten för databasen.

Exempel

I följande exempel returneras information om frågorna i Query Store.

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;

När du har identifierat de query_id och plan_id som du vill ta bort kraft från använder du följande exempel för att ta bort planen.

EXEC sp_query_store_unforce_plan 3, 3;