Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server 2016 (13.x) und höher
Azure SQL-Datenbank
Azure 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;
Zugehöriger Inhalt
- sys.query_store_replicas (Transact-SQL)
- sys.query_store_plan_forcing_locations (Transact-SQL)
- sp_query_store_force_plan (Transact-SQL)
- sp_query_store_remove_plan (Transact-SQL)
- sp_query_store_remove_query (Transact-SQL)
- sp_query_store_reset_exec_stats (Transact-SQL)
- sp_query_store_flush_db (Transact-SQL)
- Katalogsichten des Abfragespeichers (Transact-SQL)
- Überwachen der Leistung mithilfe des Abfragespeichers
- Bewährte Methoden für den Abfragespeicher