Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na: SQL Server 2016 (13.x) a novější verze
Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
stmt_sql_handle Získá pro Transact-SQL příkaz pod daný typ parametrizace (jednoduchý nebo vynucený). Na dotazy uložené v úložišti dotazů můžete odkazovat pomocí jejich stmt_sql_handle textu, když znáte jeho text.
Syntaxe
sys.fn_stmt_sql_handle_from_sql_stmt
(
N'query_sql_text'
, [ query_param_type ]
)
[ ; ]
Arguments
query_sql_text
Text dotazu v úložišti dotazů, u kterého chcete popisovač použít. query_sql_text je nvarchar(max) bez výchozího nastavení.
query_param_type
Typ parametru dotazu.
query_param_type je tinyint, s výchozím nastavením NULL. Možné hodnoty:
| Hodnota | Description |
|---|---|
NULL (výchozí) |
Výchozí hodnota 0 |
| 0 | None |
| 1 | Uživatel |
| 2 | Simple |
| 3 | Vynucený |
Vrácené sloupce
V následující tabulce jsou uvedeny sloupce, které sys.fn_stmt_sql_handle_from_sql_stmt se vrátí.
| Název sloupce | Typ | Description |
|---|---|---|
statement_sql_handle |
varbinary(64) | Popisovač SQL. |
query_sql_text |
nvarchar(max) | Text příkazu Transact-SQL. |
query_parameterization_type |
tinyint | Typ parametrizace dotazu. |
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Povolení
Vyžaduje EXECUTE oprávnění k databázi a DELETE oprávnění k zobrazením katalogu úložiště dotazů.
Examples
Následující příklad spustí příkaz a pak použije sys.fn_stmt_sql_handle_from_sql_stmt k vrácení popisovače SQL tohoto příkazu.
SELECT *
FROM sys.databases;
SELECT *
FROM sys.fn_stmt_sql_handle_from_sql_stmt('SELECT * FROM sys.databases', NULL);
Pomocí funkce můžete korelovat data úložiště dotazů s jinými zobrazeními dynamické správy. Následující příklad:
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;
Související obsah
- 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)
- zobrazení katalogu úložiště dotazů (Transact-SQL)
- Monitorování výkonu s využitím úložiště dotazů