Freigeben über


sp_query_store_unforce_plan (Transact-SQL)

Gilt für: SQL Server 2016 (13.x) und höher Azure SQL-DatenbankAzure SQL Managed Instance

Ermöglicht das Aufheben eines zuvor erzwungenen Plans für eine bestimmte Abfrage im Abfragespeicher.

Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

Wichtig

Argumente für erweiterte gespeicherte Prozeduren müssen in der spezifischen Reihenfolge eingegeben werden, wie im Abschnitt Syntax beschrieben. Wenn die Parameter außerhalb der Reihenfolge eingegeben werden, tritt eine Fehlermeldung auf.

[ @query_id = ] query_id

Die ID der Abfrage. @query_id ist großint, ohne Standard.

[ @plan_id = ] plan_id

Die ID des Abfrageplans, der nicht mehr erzwungen wird. @plan_id ist großint, ohne Standard.

[ @force_plan_scope = ] 'replica_group_id'

Sie können Pläne für ein sekundäres Replikat aufheben, wenn Abfragespeicher für sekundäre Replikate aktiviert ist, aktiviert ist. Führen Sie sp_query_store_force_plan und sp_query_store_unforce_plan für das primäre Replikat aus. Wenn Sie das argument @force_plan_scope verwenden, wird standardmäßig das lokale Replikat verwendet, in dem der Befehl ausgeführt wird. Sie können jedoch eine replica_group_id angeben, die auf die sys.query_store_plan_forcing_locations Systemkatalogansicht verweist.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Berechtigungen

Erfordert die Berechtigung ALTER für die Datenbank.

Beispiele

Im folgenden Beispiel werden Informationen zu den Abfragen im Abfragespeicher zurückgegeben.

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;

Nachdem Sie die query_id und plan_id identifiziert haben, die Sie aufheben möchten, verwenden Sie das folgende Beispiel, um den Plan aufzuheben.

EXEC sp_query_store_unforce_plan 3, 3;