Sto cercando di ottenere il tempo di esecuzione della query, ma voglio anche nascondere l'output della query. Voglio solo il tempo trascorso - nessun risultato.
Esempio
DECLARE @Start datetime
DECLARE @End datetime
SELECT @StartTimeWA=GETDATE()
SELECT
[id]
,[database_id]
,[proc_name]
,[exec_t] from
[DB].[dbo].[STAT]
SELECT @End=GETDATE()
SELECT DATEDIFF(MS,@Start,@End) AS [Duration]
Al momento, ottengo un output di query e in fondo la mia durata, che è l'unica cosa che desidero per quanto riguarda l'output. Non sono stato in grado di farlo e mi chiedo se qualcun altro ha riscontrato problemi simili? Questo è qualcosa che voglio fare in T-SQL, non in Management Studio o qualcosa del genere.
Sto cercando di monitorare il tempo necessario per eseguire l'istruzione select e riferire a un server. Ho un server di monitoraggio esterno che lo eseguirà ogni minuto e recupererà il tempo (durata necessaria) che userò nel tempo per l'andamento / baseline. Poiché la query corrente sputa i risultati selezionati e la mia durata la distorce e il mio server di monitoraggio viene confuso. Volevo solo la colonna della durata. Lo farò anche per gli inserti, che sarà semplice in quanto non sarà necessario eseguire una selezione.
Sto provando a farlo puramente in T-SQL . Non voglio usare i DMV perché voglio ottenere il tempo necessario (istantanea) quando eseguo una query e controllo se questo cambia nel tempo quando il server attraversa i vari livelli di carico in quanto ciò mi darà una buona idea se cambia il tempo di esecuzione della query.