Dela via


sp_query_store_unforce_plan (Transact-SQL)

Gäller för: SQL Server 2016 (13.x) och senare versioner 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 ,
    [ @replica_group_id = ] '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.

[ @replica_group_id = ] "replica_group_id"

Du kan unforce-planer på en sekundär replik när Query Store för läsbara sekundärfiler är aktiverat. Kör sp_query_store_force_plan och sp_query_store_unforce_plan på den primära repliken. Med argumentet @replica_group_id 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 behörigheten ALTER 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.

EXECUTE sp_query_store_unforce_plan 3, 3;