Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplica a: SQL Server 2016 (13.x) y versiones
posteriores Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
Obtiene para stmt_sql_handle una instrucción Transact-SQL bajo el tipo de parametrización especificado (simple o forzado). Puede hacer referencia a las consultas almacenadas en el Almacén de consultas mediante su stmt_sql_handle uso cuando conozca su texto.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sys.fn_stmt_sql_handle_from_sql_stmt
(
N'query_sql_text'
, [ query_param_type ]
)
[ ; ]
Argumentos
query_sql_text
Texto de la consulta en el Almacén de consultas del que desea controlar. query_sql_text es nvarchar(max) sin valor predeterminado.
query_param_type
Tipo de parámetro de la consulta.
query_param_type es tinyint, con un valor predeterminado de NULL. Los valores posibles son:
| Importancia | Descripción |
|---|---|
NULL (valor predeterminado) |
De manera predeterminada, su valor es 0. |
| 0 | Ninguno |
| 1 | Usuario |
| 2 | Simple |
| 3 | Forzado |
Columnas devueltas
En la tabla siguiente se enumeran las columnas que sys.fn_stmt_sql_handle_from_sql_stmt devuelven.
| Nombre de la columna | Tipo | Descripción |
|---|---|---|
statement_sql_handle |
varbinary(64) | Identificador SQL. |
query_sql_text |
nvarchar(max) | Texto de la instrucción Transact-SQL. |
query_parameterization_type |
tinyint | Tipo de parametrización de consulta. |
Valores de código de retorno
0 (correcto) o 1 (erróneo).
Permisos
Requiere EXECUTE permiso en la base de datos y DELETE el permiso en las vistas de catálogo del Almacén de consultas.
Ejemplos
En el ejemplo siguiente se ejecuta una instrucción y, a continuación, se usa sys.fn_stmt_sql_handle_from_sql_stmt para devolver el identificador SQL de esa instrucción.
SELECT *
FROM sys.databases;
SELECT *
FROM sys.fn_stmt_sql_handle_from_sql_stmt('SELECT * FROM sys.databases', NULL);
Use la función para correlacionar Almacén de consultas datos con otras vistas de administración dinámica. En el ejemplo siguiente:
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;
Contenido relacionado
- 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)
- Vistas del catálogo del almacén de consultas (Transact-SQL)
- Supervisión del rendimiento mediante el Almacén de consultas