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.
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 |