Che cos'è "Audit Logout" in SQL Server Profiler?


91

Sto eseguendo un'importazione di dati (utilizzando C # / Linq) e, naturalmente, sto cercando di ottimizzare il più possibile le mie query. A tal fine sto eseguendo una traccia sul DB utilizzando SQL Server Profiler, con la mia traccia filtrata dal mio nome di login SQL (è un nome che può essere attribuito univocamente al mio processo di importazione dei dati).

Stranamente, la maggior parte delle mie istruzioni SQL sono davvero veloci :) - pochissime query superano anche il segno di 1 ms. Ma tra tutte le mie query ci sono diverse righe in cui EventClass è "Audit Login" o "Audit Logout" - e la durata di un "Audit Logout" può essere fino a un minuto!

Ha qualcosa a che fare con il fatto che sto utilizzando le transazioni nella mia importazione? In tal caso, c'è un modo per scoprire quali sono le query più importanti in modo da poterle ripulire?



Risposte:


81

Se ricordo bene, la durata di un logout di verifica è la quantità di tempo in cui la connessione è stata aperta. Ad esempio, niente a che fare con la velocità del comando: solo il tempo di "accesso" del login.


9
Interessante, grazie! Ma allora perché il numero di letture è così alto (~ 400.000) quando il numero di letture per le query tra "login" e "logout" è solo 56?
Shaul Behr

È il numero di ms dall'accesso al logout. Non la quantità effettiva di volte in cui le query all'interno della connessione sono state utilizzate. 400 000 ms sono circa 7 minuti. Guarda la CPU, legge e scrive le colonne per cercare di individuare le query che sono elevate sull'utilizzo della CPU e / o del disco, entrambi che riducono le prestazioni.
Thies

Mi dispiace, intendi che le Readsrisposte alla misurazione del tempo?
Johnny_D

1
Il valore "Letture" di logout sembra molto alto sul mio, considerando che c'è una sola operazione con 3 letture elencate tra essa e il login.
Triynko

1
Va notato che la Readscolonna non rappresenta le righe restituite dalle query ma il numero di letture del disco logico. Una query che non restituisce nemmeno nulla può eseguire la scansione di un'intera tabella di 1 milione di record alla ricerca del nulla da restituire che genererebbe un numero molto elevato di letture. Quindi il numero di letture non è realmente correlato in modo naturale con il numero di query.
Andatura

12

Gli eventi di accesso / disconnessione sono correlati alla configurazione / rimozione. IIRC il tempo è il "tempo di accesso effettuato" in contrapposizione alla durata dell'elaborazione come con altri eventi di registro.

In generale, si nascondono questi eventi a meno che non si sospetti che ci sia un problema con la gestione del pool di connessioni, ecc.

I tempi grezzi per i batch dovrebbero essere sufficienti per diagnosticare il tempo impiegato dall'attività effettiva, incluso l'impatto di eventuali transazioni, ecc.


È possibile esaminare più in dettaglio quella "messa a punto / demolizione"? Si prega di consultare la seguente domanda correlata: stackoverflow.com/questions/44920375/…
Stefan

3

La classe di evento Audit Logout indica che un utente si è disconnesso (disconnesso) da Microsoft SQL Server. Gli eventi in questa classe vengono generati da nuove connessioni o da connessioni riutilizzate da un pool di connessioni.

è il tempo totale per cui è stata registrata la connessione, incluso il tempo di inattività, quindi non indica un problema di prestazioni. Anche la profilazione di login / logout è molto improbabile che causi problemi di prestazioni. Faresti meglio a cercare query con scarso rendimento, possibilmente query di lunga durata.

Per maggiori info suggerisco https://msdn.microsoft.com/en-us/library/ms175827.aspx :)


1
Sei sicuro che gli eventi Audit Logout vengono attivati ​​quando le connessioni vengono riutilizzate da un pool di connessioni? Ho pensato che i pool di connessioni fossero un esempio del motivo per cui potresti vedere durate di logout di audit elevate, perché la connessione è aperta ma inattiva per la maggior parte della sua vita,
Adam Goodwin

2

Vale anche la pena notare come in questa risposta che Audit Login / Logout potrebbe semplicemente significare che la connessione viene riutilizzata / restituita al pool di connessioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.