Revisar os resultados da reprodução

Aplica-se a: SQL Server 2016 (13.x) SQL Server 2017 (14.x) SQL Server 2019 (15.x)

Importante

O SQL Server Distributed Replay não está disponível no SQL Server 2022 (16.x).

Depois que o recurso Microsoft SQL Server Distributed Replay concluir uma reprodução distribuída, a atividade de reprodução de cada cliente poderá ser capturada e salva em arquivos de rastreamento de resultado em cada cliente. Para capturar essa atividade, você deve usar o parâmetro -o ao executar a ferramenta de administração com a opção reproduzir . Para obter mais informações sobre a opção de reprodução, confira Opção Reprodução (Ferramenta de administração de reprodução distribuída).

O local onde os arquivos de rastreamento de resultado são armazenados é especificado pelo elemento XML <ResultDirectory> no arquivo de configuração de cliente, DReplayClient.xml, situado em cada cliente. Os arquivos de rastreamento no diretório de resultados do cliente são substituídos em cada reprodução.

Para especificar que tipo de saída deve ser capturada nos arquivos de rastreamento de resultado, modifique o arquivo de configuração de reprodução, DReplay.exe.replay.config. Você pode usar o elemento XML <OutputOptions> para especificar se a contagem de linhas ou o conteúdo do conjunto de resultados deve ser gravado.

Para obter mais informações sobre esses parâmetros de configuração, consulte Configurar Distributed Replay.

Classes de evento capturadas em arquivos de rastreamento de resultado

A tabela a seguir lista todas as classes de eventos que são capturadas nos dados de rastreamento de resultado.

Categoria Nome de EventClass Frequência de captura Ponto de captura
Eventos reproduzíveis Auditar logon Uma vez para cada evento Audit Login nos dados de rastreamento originais Na conclusão bem-sucedida ou na falha do evento
Auditar logoff Uma vez para cada evento Audit Logout nos dados de rastreamento originais Na conclusão bem-sucedida ou na falha do evento
SQL:BatchCompleted Uma vez para cada evento SQL:BatchStarting nos dados de rastreamento originais Na conclusão bem-sucedida ou na falha do evento
RPC:Completed Uma vez para cada evento RPC:Starting nos dados de rastreamento originais Na conclusão bem-sucedida ou na falha do evento
Estatísticas e resultados Replay Settings Event Uma vez Primeiro evento de rastreamento de resultado
Replay Statistics Event Uma vez Último evento de rastreamento de resultado
Replay Result Set Event Uma vez para cada evento SQL:BatchStarting e RPC:Starting.

É capturado somente se o valor da opção <RecordResultSet> no arquivo de configuração de reprodução tiver sido definida como Yes.
Replay Result Row Event Uma vez para cada linha no conjunto de resultados para eventos SQL:BatchStarting e RPC:Starting.

É capturado somente se o valor da opção <RecordResultSet> no arquivo de configuração de reprodução tiver sido definida como Yes.
Erros e avisos Replay Internal Error Uma vez para cada erro interno Na condição de erro interno
Replay Provider Error Uma vez para cada erro de provedor Na condição de erro de provedor

Observe o seguinte:

  • Para cada evento que é reproduzido com êxito no servidor de destino, há uma classe de evento de saída correspondente.

  • Para cada falha ou cancelamento de evento, pode haver vários erros que são gerados.

Mapeamento de coluna de classe de evento

As figura a seguir lista as colunas do rastreamento de resultado disponíveis para cada tipo de classe de evento que é capturada durante a reprodução.

Event class column mapping

Descrições de coluna para rastreamento de resultado

A tabela a seguir descreve as colunas dos dados de rastreamento de resultado.

Nome da coluna de dados Tipo de Dados Descrição ID da coluna
EventClass nvarchar O nome da classe de evento. 1
EventSequence bigint Para erros de provedor, e erros e avisos internos, esta é a sequência de eventos de captura que corresponde ao erro ou aviso.

Para todas as outras classes de eventos, esta é a sequência do evento nos dados de rastreamento originais.
2
ReplaySequence bigint Para erros de provedor, e erros e avisos internos, esta é a sequência de eventos de reprodução que corresponde ao erro ou aviso.

Para todas as outras classes de eventos, esta é a sequência do evento que é atribuído durante a reprodução.
3
TextData ntext O conteúdo de TextData depende da EventClass.

Para Audit Login e ExistingConnection, este é a opção definida para a conexão.

Para SQL:BatchStarting, este é o corpo da solicitação de lote.

Para RPC:Starting, este é o procedimento armazenado que foi chamado.

Para Replay Settings Event, esta coluna contém as configurações que são definidas no arquivo de configuração de reprodução.

Para Replay Statistics Event, ela contém as seguintes informações:

-O SQL Server de destino da reprodução

-Número total de eventos reproduzíveis

-O número de erros de provedor

-O número de erros internos

-Avisos internos

-Número total de erros

-Taxa de passagem global

-A hora da reprodução (HH:MM:SS:MMM)

Para Replay Result Set Event, mostra a lista de cabeçalhos da coluna de resultados de retorno.

Para Replay Result Row Event, mostra o valor de retorno de todas as colunas dessa linha.

Para Replay Internal Warning e Replay Provider Error, esta coluna contém os avisos ou erros de provedor.
4
Attention bigint A duração da atenção (em microssegundos) para o evento. Isso é calculado a partir do evento Attention do rastreamento de captura. Se não havia nenhum tempo limite de consulta especificado para o evento, esta coluna não será populada (null). 5
SubmitTime datetime A hora em que o evento foi enviado ao SQL Server. 6
IsSuccessful int Um sinalizador booliano que indica se um evento específico foi executado com êxito, e se conjuntos de resultados foram retornados ao cliente.

Um evento que gera um aviso (como quando um evento é cancelado devido a Attention ou ao tempo limite especificado pelo usuário) é considerado bem-sucedido.

IsSuccessful pode ter um dos seguintes valores:

1 = êxito

0 = falha
7
Duration [microsec] bigint A duração do tempo de resposta (em microssegundos) para o evento. A medição começa quando o evento logon/log off/RPC/Language é enviado ao SQL Server.

Se o evento obtiver êxito, a medição terminará quando o conjunto de resultados completo tiver sido consumido.

Se o evento não obtiver êxito, a medição terminará na hora da falha ou do cancelamento do evento.
8
RowCount bigint Populado de acordo com o valor de <RecordRowCount> no arquivo de configuração de reprodução:

Se <RecordRowCount> for igual a Yes, esta célula conterá o número de linhas do conjunto de resultados que são retornadas pelo SQL Server.

Se <RecordRowCount> for igual a No, esta célula não será populada (null).
9
CaptureSPID int A ID da sessão de captura do evento. 10
ConnectionID int A ID da conexão de captura do evento. 11
ReplaySPID int A ID da sessão de reprodução do evento. 12
DatabaseName nvarchar O nome do banco de dados no qual a instrução do usuário está sendo executada. 13
LoginName nvarchar O nome de logon do usuário. Pode ser um logon de segurança do SQL Server ou as credenciais de logon do Microsoft Windows no formato nome_do_domínio\nome_do_usuário. 14
CaptureHostName nvarchar O nome do computador no qual o serviço cliente está sendo executado durante a captura. 15
ReplayHostName nvarchar O nome do computador em que o aplicativo cliente está sendo executado durante a reprodução. 16
ApplicationName nvarchar O nome do aplicativo cliente que criou a conexão com a conexão com o SQL Server durante a captura. 17

Confira também