Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Applies to:
SQL Server 2016 (13.x) and later
Azure SQL Database
Azure SQL Managed Instance
Gets the stmt_sql_handle
for a Transact-SQL statement under the given parameterization type (simple or forced). You can refer to queries stored in the Query Store by using their stmt_sql_handle
when you know their text.
Transact-SQL syntax conventions
Syntax
sys.fn_stmt_sql_handle_from_sql_stmt
(
N'query_sql_text'
, [ query_param_type ]
)
[ ; ]
Arguments
query_sql_text
The text of the query in the Query Store that you want the handle of. query_sql_text is nvarchar(max) with no default.
query_param_type
The parameter type of the query. query_param_type is tinyint, with a default of NULL
. Possible values are:
Value | Description |
---|---|
NULL (default) |
Defaults to 0 |
0 | None |
1 | User |
2 | Simple |
3 | Forced |
Columns returned
The following table lists the columns that sys.fn_stmt_sql_handle_from_sql_stmt
returns.
Column name | Type | Description |
---|---|---|
statement_sql_handle |
varbinary(64) | The SQL handle. |
query_sql_text |
nvarchar(max) | The text of the Transact-SQL statement. |
query_parameterization_type |
tinyint | The query parameterization type. |
Return code values
0
(success) or 1
(failure).
Permissions
Requires EXECUTE
permission on the database, and DELETE
permission on the Query Store catalog views.
Examples
The following example executes a statement, and then uses sys.fn_stmt_sql_handle_from_sql_stmt
to return the SQL handle of that statement.
SELECT *
FROM sys.databases;
SELECT *
FROM sys.fn_stmt_sql_handle_from_sql_stmt('SELECT * FROM sys.databases', NULL);
Use the function to correlate Query Store data with other dynamic management views. The following example:
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;
Related content
- 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)
- Monitor performance by using the Query Store