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‘.

SQL Server Command Line Client

Hat man gerade kein Microsoft SQL Server Manegement Studio zur Hand kann man auch auf der Command Line mit dem SQL-Server sprechen.

Dazu kann man das command line utility sqlcmd hernehmen. Um sich an einer SQL Server Instanz per ’sa‘ anzumelden genügt folgendes:

sqlcmd -U sa -S SERVER\INSTANCE

Mittels sqlcmd lassen sich beliebige T-SQL Statements ausführen.