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.
Gäller för: SQL Server 2016 (13.x) och senare versioner
Azure SQL Database
Azure SQL Managed Instance
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