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
Ruft die stmt_sql_handle für eine Transact-SQL-Anweisung unter dem angegebenen Parameterisierungstyp (einfach oder erzwungen) ab. Auf diese Weise können Sie auf abfragen verweisen, die im Abfragespeicher gespeichert sind, indem Sie deren stmt_sql_handle verwenden, wenn Sie deren Text kennen.
Transact-SQL-Syntaxkonventionen
Syntax
sys.fn_stmt_sql_handle_from_sql_stmt
(
'query_sql_text' ,
[ query_param_type
) [;]
Argumente
query_sql_text
Ist der Text der Abfrage im Abfragespeicher, der das Handle enthalten soll. query_sql_text ist eine nvarchar(max) ohne Standard.
query_param_type
Ist der Parametertyp der Abfrage. query_param_type ist eine winzige. Dabei sind folgende Werte möglich:
NULL- Standardwert ist 0.
0 - Keine
1 – Benutzer
2 - Einfach
3 - Erzwungen
Zurückgegebene Spalten
In der folgenden Tabelle sind die spalten aufgeführt, die sys.fn_stmt_sql_handle_from_sql_stmt
zurückgegeben werden.
Spaltenname | type | Beschreibung |
---|---|---|
statement_sql_handle | varbinary(64) | Das SQL-Handle. |
query_sql_text | nvarchar(max) | Der Text der Transact-SQL-Anweisung. |
query_parameterization_type | tinyint | Der Abfrageparametertyp. |
Rückgabecodewerte
„0“ (erfolgreich) oder „1“ (fehlerhaft)
Hinweise
Berechtigungen
Erfordert die EXECUTE-Berechtigung für die Datenbank und DIE DELETE-Berechtigung für die Abfragespeicherkatalogansichten.
Beispiele
Im folgenden Beispiel wird eine Anweisung ausgeführt, und anschließend wird sys.fn_stmt_sql_handle_from_sql_stmt
das SQL-Handle dieser Anweisung zurückgegeben.
SELECT * FROM sys.databases;
SELECT * FROM sys.fn_stmt_sql_handle_from_sql_stmt('SELECT * FROM sys.databases', NULL);
Verwenden Sie die Funktion, um Abfragespeicher Daten mit anderen dynamischen Verwaltungsansichten zu korrelieren. Im Beispiel unten geschieht Folgendes:
SELECT qt.query_text_id, q.query_id, qt.query_sql_text, qt.statement_sql_handle,
q.context_settings_id, qs.statement_context_id
FROM sys.query_store_query_text AS qt
JOIN sys.query_store_query AS q
ON qt.query_text_id = q.query_id
CROSS APPLY sys.fn_stmt_sql_handle_from_sql_stmt (qt.query_sql_text, null) AS fn_handle_from_stmt
JOIN sys.dm_exec_query_stats AS qs
ON fn_handle_from_stmt.statement_sql_handle = qs.statement_sql_handle;
Siehe auch
- sp_query_store_force_plan (Transact-SQL)
- sp_query_store_remove_plan (Transact-SQL)
- sp_query_store_unforce_plan (Transact-SQL)
- sp_query_store_reset_exec_stats (Transact-SQL)
- sp_query_store_flush_db (Transact-SQL)
- sp_query_store_remove_query (Transact-SQL)
- Query Store Catalog Views (Transact-SQL)
- Überwachen der Leistung mit dem Abfragespeicher