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

適用対象: ○SQL Server 2014 ○Azure SQL Database XAzure Synapse Analytics (SQL DW) XParallel Data WarehouseAPPLIES TO: YesSQL Server 2014 YesAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

のインスタンスに送信されたステートメントに関する情報を返し SQL ServerSQL Server ます。Returns information about statements submitted to an instance of SQL ServerSQL Server.

構文Syntax

sys.dm_exec_input_buffer ( session_id , request_id )

引数Arguments

session_id 検索するバッチを実行するセッション ID を指定します。session_id Is the session ID executing the batch to be looked up. session_idsmallintです。session_id is smallint. session_id は、次の動的管理オブジェクトから取得できます。session_id can be obtained from the following dynamic management objects:

request_idDm_exec_requestsからの request_id。request_id The request_id from sys.dm_exec_requests. request_idintです。request_id is int.

返されるテーブルTable Returned

列名Column name データ型Data type 説明Description
event_typeevent_type nvarchar (256)nvarchar(256) 指定された spid の入力バッファー内のイベントの種類。The type of event in the input buffer for the given spid.
parametersparameters smallintsmallint ステートメントに対して指定されたすべてのパラメーター。Any parameters provided for the statement.
event_infoevent_info nvarchar(max)nvarchar(max) 指定された spid の入力バッファー内のステートメントのテキスト。The text of the statement in the input buffer for the given spid.

アクセス許可Permissions

では SQL ServerSQL Server 、ユーザーが VIEW SERVER STATE 権限を持っている場合、のインスタンスで実行中のすべてのセッションが表示されます SQL ServerSQL Server 。それ以外の場合、ユーザーには現在のセッションのみが表示されます。On SQL ServerSQL Server, if the user has VIEW SERVER STATE permission, the user will see all executing sessions on the instance of SQL ServerSQL Server; otherwise, the user will see only the current session.

重要

VIEW SERVER STATE 権限を持たない SQL Server (トリガー、ストアドプロシージャ、関数など) に対してこの DMV を SQL Server Management Studio 以外で実行すると、master データベースで権限エラーがスローされます。Running this DMV outside of SQL Server Management Studio against SQL Server without VIEW SERVER STATE permissions (such as in a trigger, stored procedure, or function) throws a permission error on the master database.

では、 SQL DatabaseSQL Database ユーザーがデータベースの所有者である場合、ユーザーに対して実行中のすべてのセッションが表示されます。それ以外の場合、ユーザーには SQL DatabaseSQL Database 現在のセッションのみが表示されます。On SQL DatabaseSQL Database, if the user is the database owner, the user will see all executing sessions on the SQL DatabaseSQL Database; otherwise, the user will see only the current session.

重要

所有者権限を持たない Azure SQL Database (トリガー、ストアドプロシージャ、関数など) に対してこの DMV を SQL Server Management Studio 以外で実行すると、master データベースで権限エラーがスローされます。Running this DMV outside of SQL Server Management Studio against Azure SQL Database without owner permissions (such as in a trigger, stored procedure, or function) throws a permission error on the master database.

解説Remarks

この動的管理関数は、 クロス適用を行うことによって、dm_exec_sessions または sys. dm_exec_requests と組み合わせて使用できます。This dynamic management function can be used in conjunction with sys.dm_exec_sessions or sys.dm_exec_requests by doing CROSS APPLY.

Examples

A.A. 簡単な例Simple example

次の例は、セッション ID (SPID) と要求 ID を関数に渡す方法を示しています。The following example demonstrates passing a session ID (SPID) and a request ID to the function.

SELECT * FROM sys.dm_exec_input_buffer (52, 0);
GO

B.B. クロス適用を追加情報に使用するUsing cross apply to additional information

次の例では、セッション ID が50より大きいセッションの入力バッファーを一覧表示します。The following example lists the input buffer for sessions with session ID greater than 50.

SELECT es.session_id, ib.event_info
FROM sys.dm_exec_sessions AS es
CROSS APPLY sys.dm_exec_input_buffer(es.session_id, NULL) AS ib
WHERE es.session_id > 50;
GO

参照See Also