Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Относится к: 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)
- Мониторинг производительности с использованием хранилища запросов