Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[SQL Server] Logging in una stored procedure

0 views
Skip to first unread message

Giulio Petrucci

unread,
Sep 2, 2008, 8:58:39 AM9/2/08
to
Ciao a tutti,

ho a che fare con delle stored procedure molto complesse che impiegano
tempi abnormi. Vorrei tracciare i tempi delle varie parti per capire
qual è il collo di bottiglia. E' possibile aggiungere del logging alle
stored procedures? E come faccio a loggare i timestamp?

Ciao e grazie in anticipo,
Giulio

--
OnAir:
http://www.giuliopetrucci.it
http://www.fujikomonamour.com

Giacomo Degli Esposti

unread,
Sep 2, 2008, 3:35:46 PM9/2/08
to
Giulio Petrucci wrote:
> Ciao a tutti,
>
> ho a che fare con delle stored procedure molto complesse che impiegano
> tempi abnormi. Vorrei tracciare i tempi delle varie parti per capire
> qual è il collo di bottiglia. E' possibile aggiungere del logging alle
> stored procedures? E come faccio a loggare i timestamp?

Ti conviene usare SQL Profiler, che serve proprio per queste cose.
Devi fare il trace usando il modello apposito per le SP (non ricordo
a memoria il nome, ma finisce per SPs :)

Se non hai, o non vuoi usare, SQL Profiler puoi calcolare i tempi
usando la funzione getdate() e datediff() e dopo li stampi o li
inserisci in una tabella che visualizzi a fine esecuzione.

-- codice non testato
begin
declare @t datetime

select @t = getdate()

-- prima operazione da misurare

-- qui stampa il numero di millisecondi, invece di stampare
-- si puo' inserire il dato in una tabella temporanea
print datediff( ms, @t, getdate() )

select @t = getdate()

-- seconda operazione da misurare

print datediff( ms, @t, getdate() )
end

ciao
Giacomo

0 new messages