Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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
Ruft die stmt_sql_handle für eine Transact-SQL-Anweisung unter dem angegebenen Parameterisierungstyp (einfach oder erzwungen) ab. Sie können auf abfragen verweisen, die im Abfragespeicher gespeichert sind, indem Sie deren stmt_sql_handle Text verwenden.
Transact-SQL-Syntaxkonventionen
Syntax
sys.fn_stmt_sql_handle_from_sql_stmt
(
N'query_sql_text'
, [ query_param_type ]
)
[ ; ]
Argumente
query_sql_text
Der Text der Abfrage im Abfragespeicher, der das Handle enthalten soll. query_sql_text ist nvarchar(max) ohne Standard.
query_param_type
Der Parametertyp der Abfrage.
query_param_type ist winzig, mit einem Standardwert von NULL. Dabei sind folgende Werte möglich:
| Wert | Beschreibung |
|---|---|
NULL (Standardwert) |
Der Standardwert lautet 0. |
| 0 | Nichts |
| 1 | Benutzer |
| 2 | Simple |
| 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 Fehler.
Berechtigungen
Erfordert EXECUTE Berechtigungen für die Datenbank und DELETE die 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
INNER JOIN sys.query_store_query AS q
ON qt.query_text_id = q.query_text_id
CROSS APPLY sys.fn_stmt_sql_handle_from_sql_stmt(qt.query_sql_text, NULL) AS fn_handle_from_stmt
INNER JOIN sys.dm_exec_query_stats AS qs
ON fn_handle_from_stmt.statement_sql_handle = qs.statement_sql_handle;
Verwandte Inhalte
- 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)
- Abfragespeicherkatalogansichten (Transact-SQL)
- Überwachen der Leistung mithilfe des Abfragespeichers