Acessando informações de diagnóstico no log de eventos estendido
A partir do SQL Server 2012 (11.x), o Driver OLE DB para SQL Server e o rastreamento de acesso a dados (Data Access Tracing) foram atualizados para facilitar a obtenção de informações de diagnóstico sobre falhas de conexão do buffer do anel de conectividade e informações de desempenho do aplicativo do log de eventos estendido.
Para obter informações sobre como ler o log de eventos estendido, consulte Exibir dados da sessão do evento.
Observação
Este recurso destina-se apenas para fins de solução de problemas e diagnóstico e pode não ser adequado para fins de auditoria ou segurança.
Comentários
Para operações de conexão, o driver OLE DB para SQL Server enviará uma ID de conexão de cliente. Se a conexão falhar, você poderá acessar o buffer de anel de conectividade (
O driver OLE DB para SQL Server também envia uma ID de atividade específica do thread. O ID de atividade é capturado nas sessões de eventos estendidos se as sessões forem iniciadas com a opção TRACK_CAUSALITY ativada. Para problemas de desempenho com uma conexão ativa, você pode obter o ID de atividade do rastreamento de acesso a dados do cliente (campoActivityID) e, em seguida, localizar o ID de atividade na saída de eventos estendidos. O ID de atividade nos eventos estendidos é um GUID de 16 bytes (não o mesmo que o GUID para o ID de conexão do cliente) anexado com um número de sequência de quatro bytes. O número de sequência representa a ordem de uma solicitação dentro de um thread e indica a ordem relativa das instruções batch e RPC para o thread. O ActivityID
A seguir está um exemplo que usa Transact-SQL para iniciar uma sessão de eventos estendida que será armazenada em um buffer de anel e registrará o ID de atividade enviado de um cliente em RPC e operações em lote.
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)
Ficheiro de Controlo
O conteúdo do driver OLE DB para arquivo de controle do SQL Server (ctrl.guid) é:
{8B98D3F2-3CC6-0B9C-6651-9649CCE5C752} 0x630ff 0 MSDADIAG.ETW
{EE7FB59C-D3E8-9684-AEAC-B214EFD91B31} 0x630ff 0 MSOLEDBSQL.1
Arquivo MOF
O conteúdo do driver OLE DB para o arquivo mof do SQL Server é:
#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;
};