Sdílet prostřednictvím


sp_query_store_unforce_plan (Transact-SQL)

Platí na: SQL Server 2016 (13.x) a novější verze Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Umožňuje zrušit vynucení dříve vynuceného plánu pro konkrétní dotaz v úložišti dotazů.

Transact-SQL konvence syntaxe

Syntaxe

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

Argumenty

Důležitý

Argumenty rozšířených uložených procedur musí být zadány v určitém pořadí, jak je popsáno v části Syntaxe. Pokud jsou parametry zadány mimo pořadí, dojde k chybové zprávě.

[ @query_id = ] query_id

ID dotazu. @query_id je bigint, bez výchozího nastavení.

[ @plan_id = ] plan_id

ID plánu dotazu, který se už nebude vynucovat. @plan_id je bigint, bez výchozího nastavení.

[ @replica_group_id = ] 'replica_group_id'

Pokud je úložiště dotazů pro čitelné sekundární repliky povolené, můžete plány na sekundární repliku zrušit. Na primární replice spusťte sp_query_store_force_plan a sp_query_store_unforce_plan. Pomocí argumentu @replica_group_id se ve výchozím nastavení použije místní replika, ve které se příkaz spouští, ale můžete zadat replica_group_id odkazující na zobrazení katalogu systému sys.query_store_plan_forcing_locations .

Návratové hodnoty kódu

0 (úspěch) nebo 1 (selhání).

Dovolení

ALTER Vyžaduje oprávnění k databázi.

Poznámky

Úložiště dotazů pro sekundární repliky je podporováno od SQL Server 2025 (17.x) a novějších verzí, stejně jako v Azure SQL Database. Pro kompletní podporu platformy viz Query Store pro sekundární repliky.

Příklady

Následující příklad vrátí informace o dotazech v úložišti dotazů.

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;

Po identifikaci query_id a plan_id, které chcete vynutit, použijte následující příklad k vynucovat plán.

EXECUTE sp_query_store_unforce_plan 3, 3;