Ausgeführtes T-SQL Statement eines SQL-Server Prozesses

Um das aktuell ausgeführtes T-SQL Statement eines SQL-Server Prozesses anhand des sql_handle aus beispielsweise sys.dm_exec_requests per T-SQL (Beispielsweise in sqlcmd) anzuzeigen reicht folgendes T-SQL Statement:

SELECT * FROM sys.dm_exec_sql_text(<SQL_HANDLE>)
go

Der benötigte SQL_HANDLE Parameter kann aus sys.dm_exec_requests abgerufen werden wie hier erklärt. Dazu muss in der Abfrage dort eben das Feld sql_handle hinzugefügt werden.

Ein Aufruf könnte dann so aussehen:

SELECT * FROM sys.dm_exec_sql_text(0x02000000CCB0F308167B0C79C490334383A6EF32B5ADA66F)
go

In der Abgerufenen Tabelle steht das ausgeführte SQL-Statement des Prozesses dann in der Spalte ‚text‘.