Compartir a través de


Acceso a información de diagnóstico en el registro de eventos extendidos

Descargar controlador JDBC

En Microsoft JDBC Driver 4.0 para SQL Server, el seguimiento (operación de controlador de seguimiento) facilita poner en correlación los eventos de cliente con la información de diagnóstico. Se puede realizar el seguimiento de aspectos como los errores de conexión del búfer en anillo de conectividad del servidor y la información de rendimiento de la aplicación en el registro de eventos extendidos. Para obtener más información sobre cómo leer el registro de eventos extendidos, vea Eventos extendidos.

Detalles

Para las operaciones de conexión, Microsoft JDBC Driver para SQL Server enviará un identificador de conexión de cliente. Si se produce un error en la conexión, puede acceder al búfer en anillo de conectividad y buscar el campo ClientConnectionID para obtener información de diagnóstico sobre el error. Para obtener más información sobre el búfer en anillo, vea Solución de problemas de conectividad en SQL Server 2008 con el búfer en anillo de conectividad. Los identificadores de conexión del cliente se registran en el búfer de anillo únicamente si se produce un error. Si se produce un error en una conexión antes de enviar el paquete de inicio de sesión previo, no se generará un identificador de conexión del cliente.

El identificador de conexión del cliente es un GUID de 16 bytes. Si se agrega la acción client_connection_id a los eventos de una sesión de eventos extendidos, el identificador de conexión del cliente estará en la salida de destino de eventos extendidos. Para obtener más diagnósticos del controlador cliente, puede habilitar el seguimiento y volver a ejecutar el comando de conexión para ver el campo ClientConnectionID en el seguimiento.

Puede obtener el identificador de conexión de cliente mediante programación con Interfaz ISQLServerConnection. El identificador de conexión también estará presente en cualquier excepción relacionada con la conexión.

Cuando se produzca un error de conexión, el identificador de conexión de cliente en la información de seguimiento de diagnósticos integrados (BID) del servidor y en el búfer en anillo de conectividad puede ayudar a correlacionar las conexiones de cliente con las conexiones en el servidor. Para más información sobre los seguimientos de BID en el servidor, vea Data Access Tracing (Seguimiento de acceso de datos). Tenga en cuenta que el artículo de seguimiento del acceso a los datos también contiene información sobre el seguimiento del acceso a los datos que no se aplica a Microsoft JDBC Driver para SQL Server; vea Seguimiento del funcionamiento del controlador para obtener información sobre cómo realizar un seguimiento del acceso a los datos mediante Microsoft JDBC Driver para SQL Server.

El controlador JDBC también envía un identificador de actividad específico de subproceso. Si la sesión se ha iniciado con la opción TRACK_CAUSAILITY habilitada, el identificador de actividad se captura en la sesión de eventos extendidos. En el caso de problemas de rendimiento con una conexión activa, puede obtener el identificador de actividad del seguimiento del cliente (campo ActivityID) y, a continuación, buscar el identificador de actividad en la salida de eventos extendidos.

El identificador de actividad en los eventos extendidos es un GUID de 16 bytes (no es el mismo GUID que el identificador de conexión de cliente) anexado con un número de secuencia de cuatro bytes. El número de secuencia representa el orden de una solicitud en un subproceso. El campo ActivityId se envía para las instrucciones por lotes SQL y las solicitudes RPC. Para habilitar el envío de ActivityId al servidor, especifique el siguiente par clave-valor en el archivo Logging.Properties:

com.microsoft.sqlserver.jdbc.traceactivity = on

Cualquier otro valor distinto de on (distingue mayúsculas de minúsculas) deshabilitará el envío de ActivityId.

Para obtener más información, vea Seguimiento del funcionamiento del controlador. Esta marca de seguimiento se utiliza con los registradores de objetos JDBC correspondientes para decidir si se realiza el seguimiento y enviar ActivityId en el controlador JDBC. Además de actualizar el archivo Logging.Properties, habilite el registrador com.microsoft.sqlserver.jdbc en FINER o superior. A fin de enviar ActivityId al servidor para las solicitudes efectuadas por una determinada clase, habilite el registrador de clase correspondiente en FINER o FINEST. Por ejemplo, si la clase es SQLServerStatement, habilite el registrador com.microsoft.sqlserver.jdbc.SQLServerStatement.

En el ejemplo siguiente se usa Transact-SQL para iniciar una sesión de eventos extendidos que se almacenará en un búfer en anillo y registrará el identificador de actividad enviado por un cliente en operaciones RPC y por lotes:

create event session MySession on server
add event connectivity_ring_buffer_recorded,
add event sql_statement_starting (action (client_connection_id)),
add event sql_statement_completed (action (client_connection_id)),
add event rpc_starting (action (client_connection_id)),
add event rpc_completed (action (client_connection_id))
add target ring_buffer with (track_causality=on)

Consulte también

Diagnóstico de problemas del controlador JDBC