Udostępnij za pomocą


sp_query_store_unforce_plan (Transact-SQL)

Dotyczy do: SQL Server 2016 (13.x) i nowsze wersje Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Umożliwia usunięcie poprzedniego wymuszonego planu dla określonego zapytania w magazynie zapytań.

Transact-SQL konwencje składni

Składnia

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

Argumenty

Ważny

Argumenty dla rozszerzonych procedur składowanych należy wprowadzić w określonej kolejności zgodnie z opisem w sekcji składni. Jeśli parametry są wprowadzane poza kolejnością, wystąpi komunikat o błędzie.

[ @query_id = ] query_id

Identyfikator zapytania. @query_id jest bigint, bez wartości domyślnej.

[ @plan_id = ] plan_id

Identyfikator planu zapytania, który nie będzie już wymuszany. @plan_id jest bigint, bez wartości domyślnej.

[ @replica_group_id = ] 'replica_group_id'

Plany można wymazyć w repliki pomocniczej, gdy jest włączony magazyn zapytań dla czytelnych plików pomocniczych . Wykonaj sp_query_store_force_plan i sp_query_store_unforce_plan w repliki podstawowej. Używając argumentu @replica_group_id domyślnie repliki lokalnej, w której jest wykonywane polecenie, ale można określić replica_group_id odwołującą się do widoku wykazu systemu sys.query_store_plan_forcing_locations .

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Uprawnienia

ALTER Wymaga uprawnienia do bazy danych.

Uwagi

Storage Query Store dla replik wtórnych jest obsługiwany od SQL Server 2025 (17.x) i późniejszych wersji, a także w Azure SQL Database. Pełne wsparcie dla platform można znaleźć w Query Store dla replik wtórnych.

Przykłady

Poniższy przykład zwraca informacje o zapytaniach w magazynie zapytań.

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 zidentyfikowaniu query_id i plan_id, które chcesz wymuśić, użyj poniższego przykładu, aby wymuś plan.

EXECUTE sp_query_store_unforce_plan 3, 3;