SQL Handle to SQL Text with Statement Start and Statement End:
DECLARE @sql_handle VARBINARY(64) ,
@stmtstart INT ,
@stmtend INT
SELECT @stmtstart = 3268 ,
@stmtend = 5102 ,
@sql_handle = 0x03000800d8c3dd70e2f83f01e2a300000100000000000000
SELECT SUBSTRING(qt.text, s.statement_start_offset / 2,
( CASE WHEN s.statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
ELSE s.statement_end_offset
END - s.statement_start_offset ) / 2) AS "SQL statement" ,
s.statement_start_offset ,
s.statement_end_offset ,
batch = qt.text ,
qt.dbid ,
qt.objectid ,
s.execution_count ,
s.total_worker_time ,
s.total_elapsed_time ,
s.total_logical_reads ,
s.total_physical_reads ,
s.total_logical_writes
FROM sys.dm_exec_query_stats s
CROSS APPLY sys.dm_exec_sql_text(s.sql_handle) AS qt
WHERE s.sql_handle = @sql_handle
AND s.statement_start_offset = @stmtstart AND s.statement_end_offset = @stmtend