fn_stmt_sql_handle_from_sql_stmt (Transact-sql)sys.fn_stmt_sql_handle_from_sql_stmt (Transact-SQL)

適用対象: ○SQL Server 2016 以降 ○Azure SQL Database XAzure Synapse Analytics (SQL DW) XParallel Data Warehouse APPLIES TO: yesSQL Server 2016 and later yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

指定さ**** れたパラメーター Transact-SQLTransact-SQL化の型 (simple または forced) の下のステートメントの stmt_sql_handle を取得します。Gets the stmt_sql_handle for a Transact-SQLTransact-SQL statement under given parameterization type (simple or forced). これにより、テキストがわかっている場合にstmt_sql_handleを使用して、クエリストアに格納されているクエリを参照できます。This allows you to refer to queries stored in the Query Store by using their stmt_sql_handle when you know their text.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions


    [ query_param_type   
) [;]  


クエリストア内でハンドルを作成するクエリのテキストを指定します。Is the text of the query in the query store that you want the handle of. query_sql_textnvarchar (max),、既定値はありません。query_sql_text is a nvarchar(max), with no default.

クエリのパラメーターの型です。Is the parameter type of the query. query_param_typetinyintです。query_param_type is a tinyint. 設定可能な値は、次のとおりです。Possible values are:

  • NULL-既定値は0です。NULL - defaults to 0

  • 0 - なし0 - None

  • 1-ユーザー1 - User

  • 2-単純2 - Simple

  • 3-強制3 - Forced

返される列Columns Returned

次の表に、sys fn_stmt_sql_handle_from_sql_stmt が返す列を示します。The following table lists the columns that sys.fn_stmt_sql_handle_from_sql_stmt returns.

列名Column name 種類Type [説明]Description
statement_sql_handlestatement_sql_handle varbinary (64)varbinary(64) SQL ハンドル。The SQL handle.
query_sql_textquery_sql_text nvarchar(max)nvarchar(max) Transact-SQLTransact-SQLステートメントのテキスト。The text of the Transact-SQLTransact-SQL statement.
query_parameterization_typequery_parameterization_type tinyinttinyint クエリのパラメーター化の種類。The query parameterization type.

リターン コードの値Return Code Values

0 (成功) または 1 (失敗)0 (success) or 1 (failure)



では、データベースに対するEXECUTE権限と、クエリストアのカタログビューに対するDELETE権限が必要です。Requires the EXECUTE permission on the database, and DELETE permission on the query store catalog views.


次の例では、ステートメントを実行しsys.fn_stmt_sql_handle_from_sql_stmt 、を使用してそのステートメントの SQL ハンドルを返します。The following example executes a statement, and then uses sys.fn_stmt_sql_handle_from_sql_stmt to return the SQL handle of that statement.

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

関数を使用すると、クエリストアデータを他の動的管理ビューと関連付けることができます。Use the function to correlate Query Store data with other dynamic management views. 次に例を示します。The following example:

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;  

参照See Also

sp_query_store_force_plan (Transact-sql) sp_query_store_force_plan (Transact-SQL)
sp_query_store_remove_plan (Transct-SQL) sp_query_store_remove_plan (Transct-SQL)
sp_query_store_unforce_plan (Transact-sql) sp_query_store_unforce_plan (Transact-SQL)
sp_query_store_reset_exec_stats (Transact-sql) sp_query_store_reset_exec_stats (Transact-SQL)
sp_query_store_flush_db (Transact-sql) sp_query_store_flush_db (Transact-SQL)
sp_query_store_remove_query (Transact-sql) sp_query_store_remove_query (Transact-SQL)
クエリストアカタログビュー (Transact-sql) Query Store Catalog Views (Transact-SQL)
クエリのストアを使用した、パフォーマンスの監視Monitoring Performance By Using the Query Store