Moin,
die Frage ist, ob du es im Nachhinein machen willst, oder ob du es vorher weißt.
Im Nachhinein:
sys.dm_exec_query_stats -> Metadaten über die Abfragen
sys.dm_exec_sql_text(sql_handle) -> SQL-Statements
Beispiel-Abfrage:
SELECT  
    s1.sql_handle,  
    (SELECT TOP 1 SUBSTRING(s2.text,statement_start_offset / 2+1 ,  
      ( (CASE WHEN statement_end_offset = -1  
         THEN (LEN(CONVERT(nvarchar(max),s2.text)) * 2)  
         ELSE statement_end_offset END)  - statement_start_offset) / 2+1))  AS sql_statement,  
    total_elapsed_time  
FROM sys.dm_exec_query_stats AS s1  
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2  
WHERE s2.objectid is null  
ORDER BY s1.sql_handle, s1.statement_start_offset, s1.statement_end_offset;
In der Tabelle dm_exec_query_stats stehen noch viele weitere Daten, die dich eventuell interessieren.
Wenn du vorher weißt, dass du die genaue Zeit messen willst, kannst du es auch einfach so machen:
set statistics time on  
set statistics time off
In diesem Fall steht die genaue Ausführungszeit im Fenster "Meldungen".
Grüße Marco
-- 
Ich spreche Spaghetticode - fließend.