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 spätere Versionen
Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
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 ,
[ @replica_group_id = ] '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.
[ @replica_group_id = ] 'replica_group_id'
Sie können Pläne für ein sekundäres Replikat aufheben, wenn der Abfragespeicher für lesbare Secondärdateien 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 @replica_group_id 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 ALTER Berechtigung für die Datenbank.
Bemerkungen
Der Query Store für sekundäre Replikate wird ab SQL Server 2025 (17.x) und späteren Versionen sowie in Azure SQL Database unterstützt. Für vollständige Plattformunterstützung siehe Query Store für sekundäre Replikate.
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.
EXECUTE 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