Events
Mar 31, 11 PM - Apr 2, 11 PM
The biggest SQL, Fabric and Power BI learning event. March 31 – April 2. Use code FABINSIDER to save $400.
Register todayThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
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
sys.fn_stmt_sql_handle_from_sql_stmt
(
N'query_sql_text'
, [ query_param_type ]
)
[ ; ]
The text of the query in the Query Store that you want the handle of. query_sql_text is nvarchar(max) with no default.
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 |
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. |
0
(success) or 1
(failure).
Requires EXECUTE
permission on the database, and DELETE
permission on the Query Store catalog views.
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;
Events
Mar 31, 11 PM - Apr 2, 11 PM
The biggest SQL, Fabric and Power BI learning event. March 31 – April 2. Use code FABINSIDER to save $400.
Register today