Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Analítica (PDW)
Base de datos SQL en Microsoft Fabric
A partir de SQL Server 2012 (11.x), OLE DB Driver for SQL Server y el seguimiento de acceso a datos (Seguimiento de acceso a datos) se han actualizado para facilitar la obtención de información de diagnóstico sobre los errores de conexión del búfer de anillo de conectividad e información sobre el rendimiento de la aplicación del registro de eventos extendidos.
Para obtener información sobre cómo leer el registro de eventos extendidos, vea Ver datos de eventos en SQL Server Management Studio.
Nota
Esta característica solo está pensada para fines de solución de problemas y diagnóstico y puede que no sea adecuada para fines de auditoría o seguridad.
Observaciones
Para las operaciones de conexión, OLE DB Driver for SQL Server envía un identificador de conexión de cliente. Si se produce un error en la conexión, puede acceder al búfer de anillo de conectividad (solución de problemas de conectividad en SQL Server 2008 con el búfer de anillo de conectividad y buscar el ClientConnectionID campo y obtener información de diagnóstico sobre el error de conexión. 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. También puede buscar el identificador de conexión del cliente en el destino de salida de eventos extendidos si se agrega la acción client_connection_id a los eventos de una sesión de eventos extendidos. Puede habilitar el seguimiento de acceso a datos, volver a ejecutar el comando de conexión y observar el campo ClientConnectionID en el seguimiento de acceso a datos de una operación que no se ha realizado correctamente si necesita asistencia adicional de diagnóstico.
OLE DB Driver for SQL Server también envía un identificador de actividad específico de subproceso. El identificador de actividad se captura en las sesiones de eventos extendidos si las sesiones se inician con la opción TRACK_CAUSALITY habilitada. En el caso de problemas de rendimiento con una conexión activa, puede obtener el identificador de actividad del seguimiento de acceso a datos del cliente (campo ActivityID) y, después, buscar el identificador de actividad en la salida de eventos extendidos. El identificador de actividad de los eventos extendidos es un GUID de 16 bytes (no el mismo que el GUID para el identificador de conexión de cliente) anexado con un número de secuencia de 4 bytes. El número de secuencia representa el orden de una solicitud en un subproceso e indica el orden relativo del lote, así como las instrucciones RPC para el subproceso.
ActivityID se envía opcionalmente para instrucciones por lotes de SQL y solicitudes RPC cuando el seguimiento de acceso a datos está habilitado y el 18º bit de la palabra de configuración de seguimiento de acceso a datos está activado ON.
Este es un ejemplo que utiliza Transact-SQL para iniciar una sesión de eventos extendidos que se va a almacenar en un búfer de anillo y que registrará el identificador de actividad que se envía desde 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)
Archivo de control
El contenido del archivo de control de OLE DB Driver for SQL Server (ctrl.guid) es:
{8B98D3F2-3CC6-0B9C-6651-9649CCE5C752} 0x630ff 0 MSDADIAG.ETW
{EE7FB59C-D3E8-9684-AEAC-B214EFD91B31} 0x630ff 0 MSOLEDBSQL.1
Archivo MOF
El contenido del archivo OLE DB Driver for SQL Server mof es:
#pragma classflags("forceupdate")
#pragma namespace ("\\\\.\\Root\\WMI")
/////////////////////////////////////////////////////////////////////////////
//
// MSDADIAG.ETW
[
dynamic: ToInstance,
Description("MSDADIAG.ETW"),
Guid("{8B98D3F2-3CC6-0B9C-6651-9649CCE5C752}"),
locale("MS\\0x409")
]
class Bid2Etw_MSDADIAG_ETW : EventTrace
{
};
[
dynamic: ToInstance,
Description("MSDADIAG.ETW"),
Guid("{8B98D3F3-3CC6-0B9C-6651-9649CCE5C752}"),
DisplayName("msdadiag"),
locale("MS\\0x409")
]
class Bid2Etw_MSDADIAG_ETW_Trace : Bid2Etw_MSDADIAG_ETW
{
};
[
dynamic: ToInstance,
Description("MSDADIAG.ETW formatted output (A)"),
EventType(17),
EventTypeName("TextA"),
locale("MS\\0x409")
]
class Bid2Etw_MSDADIAG_ETW_Trace_TextA : Bid2Etw_MSDADIAG_ETW_Trace
{
[
WmiDataId(1),
Description("Module ID"),
read
]
uint32 ModID;
[
WmiDataId(2),
Description("Text StringA"),
extension("RString"),
read
]
object msgStr;
};
[
dynamic: ToInstance,
Description("MSDADIAG.ETW formatted output (W)"),
EventType(18),
EventTypeName("TextW"),
locale("MS\\0x409")
]
class Bid2Etw_MSDADIAG_ETW_Trace_TextW : Bid2Etw_MSDADIAG_ETW_Trace
{
[
WmiDataId(1),
Description("Module ID"),
read
]
uint32 ModID;
[
WmiDataId(2),
Description("Text StringW"),
extension("RWString"),
read
]
object msgStr;
};
/////////////////////////////////////////////////////////////////////////////
//
// MSOLEDBSQL.1
[
dynamic: ToInstance,
Description("MSOLEDBSQL.1"),
Guid("{EE7FB59C-D3E8-9684-AEAC-B214EFD91B31}"),
locale("MS\\0x409")
]
class Bid2Etw_MSOLEDBSQL_1 : EventTrace
{
};
[
dynamic: ToInstance,
Description("MSOLEDBSQL.1"),
Guid("{EE7FB59D-D3E8-9684-AEAC-B214EFD91B31}"),
DisplayName("MSOLEDBSQL.1"),
locale("MS\\0x409")
]
class Bid2Etw_MSOLEDBSQL_1_Trace : Bid2Etw_MSOLEDBSQL_1
{
};
[
dynamic: ToInstance,
Description("MSOLEDBSQL.1 formatted output (A)"),
EventType(17),
EventTypeName("TextA"),
locale("MS\\0x409")
]
class Bid2Etw_MSOLEDBSQL_1_Trace_TextA : Bid2Etw_MSOLEDBSQL_1_Trace
{
[
WmiDataId(1),
Description("Module ID"),
read
]
uint32 ModID;
[
WmiDataId(2),
Description("Text StringA"),
extension("RString"),
read
]
object msgStr;
};
[
dynamic: ToInstance,
Description("MSOLEDBSQL.1 formatted output (W)"),
EventType(18),
EventTypeName("TextW"),
locale("MS\\0x409")
]
class Bid2Etw_MSOLEDBSQL_1_Trace_TextW : Bid2Etw_MSOLEDBSQL_1_Trace
{
[
WmiDataId(1),
Description("Module ID"),
read
]
uint32 ModID;
[
WmiDataId(2),
Description("Text StringW"),
extension("RWString"),
read
]
object msgStr;
};