web-dev-qa-db-fra.com

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

J'effectue une importation de données (avec C #/Linq) et, bien entendu, j'essaie d'optimiser au maximum mes requêtes. À cette fin, j'exécute une trace sur la base de données à l'aide de SQL Server Profiler, ma trace étant filtrée par mon nom de connexion SQL (nom pouvant uniquement être attribué à mon processus d'importation de données).

Curieusement, la plupart de mes instructions SQL sont très rapides :) - très peu de requêtes dépassent même la barre des 1ms. Mais toutes mes requêtes sont espacées de plusieurs lignes où EventClass est "Audit Login" ou "Audit Logout" - et la durée d'une "Audit Logout" peut aller jusqu'à une minute!

Cela a-t-il quelque chose à voir avec le fait que j'utilise des transactions dans mon importation? Si tel est le cas, y a-t-il un moyen de déterminer quelles sont les requêtes les plus importantes afin que je puisse les résoudre?

88
Shaul Behr

Si je me souviens bien, la durée d'une déconnexion d'audit est la durée pendant laquelle la connexion a été ouverte. Par exemple. rien à voir avec la rapidité de la commande - juste le temps que la connexion a été 'connectée'.

77
Thies

Les événements de connexion/déconnexion sont liés à la configuration/à la suppression. IIRC, l'heure est la suivante: 'a été connecté pour l'heure' par opposition à une durée de traitement comme pour les autres événements de journal.

En général, ces événements sont masqués, sauf si vous soupçonnez un problème de gestion du pool de connexions, etc.

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

11
Ruben Bartelink

La classe d'événements Audit Logout indique qu'un utilisateur s'est déconnecté (déconnecté) de Microsoft SQL Server. Les événements de cette classe sont déclenchés par de nouvelles connexions ou par des connexions réutilisées à partir d'un pool de connexions.

c'est le temps total de connexion, y compris le temps d'inactivité, auquel cas la connexion a été consignée, de sorte que cela n'indique pas un problème de performances. De plus, le profilage des connexions/déconnexions est très peu susceptible de causer un problème de performances. Vous feriez mieux de chercher des requêtes peu performantes, peut-être de longue durée.

Pour plus d'informations, je suggère https://msdn.Microsoft.com/en-us/library/ms175827.aspx :)

3
Michele Caggiano

À noter également que cette réponse indique que Audit Login/Logout peut simplement signifier que la connexion est réutilisée depuis/renvoyée dans le pool de connexions.

2
Rory