Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för: SQL Server 2016 (13.x) och senare versioner
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Hämtar instruktionen stmt_sql_handle for a Transact-SQL under den angivna parameteriseringstypen (enkel eller tvingad). Du kan referera till frågor som lagras i Query Store med hjälp av deras stmt_sql_handle när du känner till deras text.
Transact-SQL syntaxkonventioner
Syntax
sys.fn_stmt_sql_handle_from_sql_stmt
(
N'query_sql_text'
, [ query_param_type ]
)
[ ; ]
Arguments
query_sql_text
Texten i frågan i frågearkivet som du vill ha handtaget för. query_sql_text är nvarchar(max) utan standard.
query_param_type
Parametertypen för frågan.
query_param_type är tinyint, med standardvärdet NULL. Möjliga värden är:
| Värde | Description |
|---|---|
NULL (standardinställning) |
Standardvärdet är 0 |
| 0 | None |
| 1 | User |
| 2 | Simple |
| 3 | Forcerad |
Kolumner som returneras
I följande tabell visas de kolumner som sys.fn_stmt_sql_handle_from_sql_stmt returneras.
| Kolumnnamn | Typ | Description |
|---|---|---|
statement_sql_handle |
varbinary(64) | SQL-handtaget. |
query_sql_text |
nvarchar(max) | Texten i Transact-SQL-instruktionen. |
query_parameterization_type |
tinyint | Frågeparametertypen. |
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Permissions
Kräver EXECUTE behörighet för databasen och DELETE behörighet för katalogvyerna i Query Store.
Examples
I följande exempel körs en -instruktion och används sys.fn_stmt_sql_handle_from_sql_stmt sedan för att returnera SQL-handtaget för den instruktionen.
SELECT *
FROM sys.databases;
SELECT *
FROM sys.fn_stmt_sql_handle_from_sql_stmt('SELECT * FROM sys.databases', NULL);
Använd funktionen för att korrelera Query Store-data med andra dynamiska hanteringsvyer. Följande exempel:
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;
Relaterat innehåll
- 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)
- Katalogvyer för Query Store (Transact-SQL)
- Övervaka prestanda med hjälp av Query Store