query queries print framework c# linq sql-server-2005 linq-to-sql sql-server-profiler

c# - queries - ¿Qué es "Audit Logout" en SQL Server Profiler?



c# entity framework print sql (4)

Estoy ejecutando una importación de datos (usando C # / Linq), y naturalmente estoy tratando de optimizar mis consultas tanto como sea posible. Para este fin estoy rastreando el DB usando SQL Server Profiler, con mi rastro filtrado por mi nombre de inicio de sesión SQL (es un nombre que se puede atribuir de manera única a mi proceso de importación de datos).

Por extraño que parezca, la mayoría de mis declaraciones SQL son realmente rápidas :): muy pocas consultas incluso superan la marca de 1 ms. Pero espaciadas entre todas mis consultas hay varias filas donde el EventClass es "Audit Login" o "Audit Logout" - ¡y la duración de un "Audit Logout" puede ser de hasta un minuto!

¿Esto tiene algo que ver con el hecho de que estoy usando transacciones en mi importación? Si es así, ¿hay alguna forma de encontrar cuáles son las consultas más impactantes para que pueda limpiarlas?


La clase de evento de cierre de sesión de auditoría indica que un usuario ha cerrado la sesión (desconectado) de Microsoft SQL Server. Los eventos de esta clase se activan mediante conexiones nuevas o conexiones que se reutilizan desde un grupo de conexiones.

es el tiempo total durante el que se inició la sesión, incluido el tiempo de inactividad, por lo que no indica un problema de rendimiento. También es muy poco probable que crear perfiles de inicio de sesión / cierre de sesión cause un problema de rendimiento. Sería mejor buscar consultas de bajo rendimiento, posiblemente consultas de larga ejecución.

Para obtener más información, sugiero https://msdn.microsoft.com/en-us/library/ms175827.aspx :)


Los eventos de inicio de sesión / cierre están relacionados con la configuración / derribo. IIRC es el momento en que se "inició sesión por tiempo" en lugar de una duración de procesamiento como con otros eventos de registro.

En general, uno oculta estos eventos a menos que sospeche que hay un problema con la administración del grupo de conexiones, etc.

Los tiempos brutos para los lotes deberían ser suficientes para diagnosticar el tiempo que está tomando la actividad real, incluido el impacto de cualquier transacción, etc.


Si recuerdo correcto, la duración de un cierre de sesión de auditoría es la cantidad de tiempo que la conexión estuvo abierta. Por ejemplo, nada que ver con la velocidad del comando, solo la cantidad de tiempo que el inicio de sesión estaba ''conectado''.


También vale la pena señalar que, en esta respuesta, Audit Login / Logout puede significar que la conexión se reutiliza / devuelve al grupo de conexiones.