Qu'est-ce que "Audit Logout" dans SQL Server Profiler?

j'exécute une importation de données (en utilisant C#/Linq), et naturellement j'essaie d'optimiser mes requêtes autant que possible. À cette fin, J'exécute une trace sur la base de données en utilisant SQL Server Profiler, avec ma trace filtrée par mon nom de connexion SQL (c'est un nom qui peut être attribué uniquement à mon processus d'importation de données).

étrangement, la plupart de mes instructions SQL sont vraiment rapides :) - très peu de requêtes cassent même au-dessus de la marque 1ms. Mais espacés entre toutes mes questions plusieurs lignes où la classe EventClass est "Audit Login" ou" Audit Logout "- et la durée d'un "Audit Logout" peut aller jusqu'à une minute!

est-ce que cela a quelque chose à voir avec le fait que j'utilise des transactions dans mon importation? Si c'est le cas, y a-t-il un moyen de trouver quelles sont les requêtes les plus percutantes pour que je puisse les nettoyer?

80
demandé sur Shaul Behr 2010-01-25 16:27:17

4 réponses

si je me souviens bien, la durée d'une déconnexion est la durée d'ouverture de la connexion. Par exemple: rien à voir avec la vitesse de la commande - juste le temps que le login a été 'connecté'.

72
répondu Thies 2010-01-25 13:30:53

les événements de connexion/déconnexion sont liés à la configuration / démontage. IIRC le temps est le 'a été enregistré pour le temps' par opposition à une durée de traitement comme pour les autres événements log.

en général, on cache ces événements sauf si vous soupçonnez qu'il y a un problème avec la gestion de la piscine de connexion, etc.

les temps bruts pour les lots doivent être suffisants pour diagnostiquer le temps que prend l'activité réelle, y compris l'impact de toute transaction, etc.

11
répondu Ruben Bartelink 2010-01-25 13:32:45

la classe audit Logout event indique qu'un utilisateur s'est déconnecté du serveur SQL Microsoft. Les événements de cette classe sont déclenchés par de nouvelles connexions ou par des connexions qui sont réutilisées à partir d'un pool de connexion.

c'est le temps total pendant lequel la connexion a été connectée, y compris le temps mort, donc cela n'indique pas un problème de performance. Il est également très peu probable que le profilage des connexions/déconnexions cause un problème de performance. Vous seriez mieux à la recherche pour le mal effectuer des requêtes, éventuellement des requêtes de longue durée.

pour plus d'info je vous suggère https://msdn.microsoft.com/en-us/library/ms175827.aspx :)

3
répondu Michele Caggiano 2015-02-14 11:30:06

vaut également la peine de noter comme dans cette réponse que L'ouverture et la fermeture de session de vérification peut simplement signifier que la connexion est réutilisée à partir du pool de connexion/retournée à celui-ci.

2
répondu Rory 2017-05-23 12:26:23