sys.fn_stmt_sql_handle_from_sql_stmt (Transact-SQL)

Se aplica a: síSQL Server 2016 (13.x) y versiones posteriores SíAzure SQL Database SíInstancia administrada de Azure SQL

Obtiene el stmt_sql_handle para una Transact-SQL instrucción en el tipo de parametrización dado (simple o forzada). Esto le permite hacer referencia a las consultas almacenadas en el Almacén de consultas mediante su stmt_sql_handle cuando Conozca su texto.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQL

Sintaxis

sys.fn_stmt_sql_handle_from_sql_stmt   
(  
    'query_sql_text',   
    [ query_param_type   
) [;]  

Argumentos

query_sql_text
Es el texto de la consulta en el almacén de consultas cuyo identificador desea. query_sql_text es de tipo nvarchar (Max) y no tiene ningún valor predeterminado.

query_param_type
Es el tipo de parámetro de la consulta. query_param_type es un tinyint. Los valores posibles son:

  • NULL: el valor predeterminado 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 devuelve.

Nombre de la columna Tipo Descripción
statement_sql_handle varbinary (64) Identificador de SQL.
query_sql_text nvarchar(max) Texto de la Transact-SQL instrucción.
query_parameterization_type tinyint Tipo de parametrización de consulta.

Valores de código de retorno

0 (correcto) o 1 (error)

Observaciones

Permisos

Requiere el permiso Execute en la base de datos y el permiso Delete 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, sys.fn_stmt_sql_handle_from_sql_stmt se usa para devolver el identificador SQL de la instrucción.

SELECT * FROM sys.databases;   
SELECT * FROM sys.fn_stmt_sql_handle_from_sql_stmt('SELECT * FROM sys.databases', NULL);  

Utilice la función para poner en correlación 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  
JOIN sys.query_store_query AS q   
    ON qt.query_text_id = q.query_id  
CROSS APPLY sys.fn_stmt_sql_handle_from_sql_stmt (qt.query_sql_text, null) AS fn_handle_from_stmt  
JOIN sys.dm_exec_query_stats AS qs   
    ON fn_handle_from_stmt.statement_sql_handle = qs.statement_sql_handle;  

Consulte también

sp_query_store_force_plan ()de Transact-SQL
sp_query_store_remove_plan (Transact-SQL)
sp_query_store_unforce_plan ()de Transact-SQL
sp_query_store_reset_exec_stats ()de Transact-SQL
sp_query_store_flush_db ()de Transact-SQL
sp_query_store_remove_query ()de Transact-SQL
Almacén de consultas vistas de catálogo (Transact-SQL)
Supervisar el rendimiento mediante el Almacén de consultas