Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Относится к: SQL Server 2016 (13.x) и более поздние версии
Azure SQL Database
Azure SQL Managed Instance
SQL Database в Microsoft Fabric
Получает инструкцию stmt_sql_handle Transact-SQL в соответствии с заданным типом параметризации (простой или принудительной). Вы можете ссылаться на запросы, хранящиеся в хранилище запросов, с помощью своих stmt_sql_handle сведений о тексте.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sys.fn_stmt_sql_handle_from_sql_stmt
(
N'query_sql_text'
, [ query_param_type ]
)
[ ; ]
Аргументы
query_sql_text
Текст запроса в хранилище запросов, для которого требуется дескриптор. query_sql_text — nvarchar(max) без значения по умолчанию.
query_param_type
Тип параметра запроса.
query_param_type крошечный, по умолчанию NULL. Возможны следующие значения:
| Ценность | Описание |
|---|---|
NULL (по умолчанию) |
По умолчанию — 0. |
| 0 | None |
| 1 | User |
| 2 | Simple |
| 3 | Принудительный |
Возвращенные столбцы
В следующей таблице перечислены возвращаемые sys.fn_stmt_sql_handle_from_sql_stmt столбцы.
| Имя столбца | Тип | Описание |
|---|---|---|
statement_sql_handle |
varbinary(64) | Дескриптор SQL. |
query_sql_text |
nvarchar(max) | Текст инструкции Transact-SQL. |
query_parameterization_type |
tinyint | Тип параметризации запроса. |
Значения кода возврата
0 (успешно) или 1 (сбой).
Разрешения
Требуется EXECUTE разрешение на базу данных и DELETE разрешение на представления каталога хранилища запросов.
Примеры
В следующем примере выполняется инструкция, а затем используется sys.fn_stmt_sql_handle_from_sql_stmt для возврата дескриптора SQL этой инструкции.
SELECT *
FROM sys.databases;
SELECT *
FROM sys.fn_stmt_sql_handle_from_sql_stmt('SELECT * FROM sys.databases', NULL);
Используйте функцию для сопоставления хранилище запросов данных с другими динамическими административными представлениями. Следующий пример:
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;
Связанный контент
- 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)
- Представления каталога хранилища запросов (Transact-SQL)
- Мониторинг производительности с использованием хранилища запросов