Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy do: SQL Server 2016 (13.x) i nowsze wersje
Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
Pobiera instrukcję stmt_sql_handle for Transact-SQL w ramach danego typu parametryzacji (proste lub wymuszone). Zapytania przechowywane w magazynie zapytań można odwoływać się do zapytań, używając ich stmt_sql_handle , gdy znasz ich tekst.
Transact-SQL konwencje składni
Składnia
sys.fn_stmt_sql_handle_from_sql_stmt
(
N'query_sql_text'
, [ query_param_type ]
)
[ ; ]
Arguments
query_sql_text
Tekst zapytania w magazynie zapytań, którego chcesz obsłużyć. query_sql_text to nvarchar(max) bez wartości domyślnej.
query_param_type
Typ parametru zapytania.
query_param_type jest tinyint, z wartością domyślną NULL. Dopuszczalne wartości:
| Wartość | Description |
|---|---|
NULL (ustawienie domyślne) |
Wartości domyślne 0 |
| 0 | Żaden |
| 1 | User |
| 2 | Simple |
| 3 | Zmuszona |
Zwrócone kolumny
W poniższej tabeli wymieniono zwracane kolumny sys.fn_stmt_sql_handle_from_sql_stmt .
| Nazwa kolumny | Typ | Description |
|---|---|---|
statement_sql_handle |
varbinary(64) | Dojście SQL. |
query_sql_text |
nvarchar(max) | Tekst instrukcji Transact-SQL. |
query_parameterization_type |
tinyint | Typ parametryzacji zapytania. |
Zwracanie wartości kodu
0 (powodzenie) lub 1 (niepowodzenie).
Permissions
Wymaga EXECUTE uprawnień do bazy danych i DELETE uprawnień w widokach wykazu magazynu zapytań.
Przykłady
Poniższy przykład wykonuje instrukcję, a następnie używa sys.fn_stmt_sql_handle_from_sql_stmt metody do zwrócenia dojścia SQL do tej instrukcji.
SELECT *
FROM sys.databases;
SELECT *
FROM sys.fn_stmt_sql_handle_from_sql_stmt('SELECT * FROM sys.databases', NULL);
Użyj funkcji , aby skorelować dane magazynu zapytań z innymi dynamicznymi widokami zarządzania. Poniższy przykład:
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;
Treści powiązane
- 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)
- Widoki katalogu Query Store (Transact-SQL)
- Monitorowanie wydajności za pomocą magazynu zapytań