sys.fn_stmt_sql_handle_from_sql_stmt (Transact-SQL)

Gilt für:yes SQL Server 2016 (13.x) Yesund höher YesAzure SQL-Datenbank Azure SQL verwaltete Instanz

Ruft die stmt_sql_handle für eine Transact-SQL-Anweisung unter dem angegebenen Parametrisierungstyp ab (einfach oder erzwungen). Auf diese Weise können Sie auf abfragen verweisen, die im Abfrage-Store gespeichert sind, indem Sie deren stmt_sql_handle, wenn Sie ihren Text kennen.

Topic link iconTransact-SQL-Syntaxkonventionen

Syntax

sys.fn_stmt_sql_handle_from_sql_stmt   
(  
    'query_sql_text',   
    [ query_param_type   
) [;]  

Argumente

query_sql_text
Der Text der Abfrage im Abfragespeicher, für den das Handle verwendet werden soll. query_sql_text ist ein nvarchar(max)- ohne Standardwert.

query_param_type
Der Parametertyp der Abfrage. query_param_type ist ein tinyint. Mögliche Werte:

  • NULL: Standardwert 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 Abfrageparameterisierungstyp.

Rückgabecodewerte

„0“ (erfolgreich) oder „1“ (fehlerhaft)

Bemerkungen

Berechtigungen

Erfordert die EXECUTE-Berechtigung für die Datenbank und die DELETE-Berechtigung für die Katalogsichten des Abfragespeichers.

Beispiele

Im folgenden Beispiel wird eine -Anweisung ausgeführt und dann verwendet, sys.fn_stmt_sql_handle_from_sql_stmt um das SQL dieser Anweisung zurück zu geben.

SELECT * FROM sys.databases;   
SELECT * FROM sys.fn_stmt_sql_handle_from_sql_stmt('SELECT * FROM sys.databases', NULL);  

Verwenden Sie die -Funktion, um Abfragedaten Store anderen dynamischen Verwaltungssichten zu korrelieren. Im folgenden Beispiel:

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;  

Weitere Informationen

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)
Abfragen Store Katalogsichten (Transact-SQL)
Überwachen der Leistung mit dem Abfragespeicher