このクエリを使用して、長時間実行されているいくつかのクエリを見つけています。
SELECT sqltext.TEXT,
req.session_id,
req.status,
req.command,
req.cpu_time,
req.total_elapsed_time
FROM sys.dm_exec_requests req
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext
order by req.total_elapsed_time des
現在、スタックしているように見える xp_cmdshell がいくつかあります (ジョブで一括エクスポートするために bcp.exe を呼び出すために使用します)。ただし、sys.dm_exec_sql_text() の出力は「xp_cmdshell」のみを出力し、パラメーターは出力しません。問題を追跡できるように、xp_cmdshell が実行しているコマンドを正確に確認したいと考えています。
SQLサーバーでそれを行う方法はありますか?
編集:アクティブなセッションは、ストアド プロシージャから xp_cmdshell を呼び出しています。例えば:
EXEC usp_xxx -> EXEC usp_yyy を呼び出し -> xp_cmdshell を呼び出します。
したがって、DBCC InputBuffer の出力は、私が望むものではない usp_xxx への呼び出しです。