Compartilhar via


Como medir a latência e validar conexões para replicação de transação (Programação RMO)

Para a replicação de transação, é importante poder verificar se os servidores estão conectados e medir a latência. Você mede a latência usando os tokens de rastreamento. A latência é o tempo necessário para que as alterações efetuadas no Publicador sejam propagadas aos Assinantes. Para obter mais informações, consulte Medindo a latência e validando as conexões para a replicação de transação. Essas informações podem ser obtidas programaticamente, usando RMO (Replication Management Objetos).

Para publicar um token de rastreamento em uma publicação transacional

  1. Crie uma conexão com o Publicador usando a classe ServerConnection.

  2. Crie uma instância da classe TransPublication.

  3. Defina as propriedades Name e DatabaseName para a publicação, e a propriedade ConnectionContext para a conexão criada na etapa 1.

  4. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades da publicação na etapa 3 foram definidas incorretamente ou a publicação não existe.

  5. Chame o método PostTracerToken. Esse método insere um token de rastreamento no log de transações da publicação.

Para determinar a latência e validar as conexões para uma publicação transacional

  1. Crie uma conexão com o Distribuidor usando a classe ServerConnection.

  2. Crie uma instância da classe PublicationMonitor.

  3. Defina as propriedades Name, DistributionDBName, PublisherName e PublicationDBName; e, então, defina a propriedade ConnectionContext para conexão criada na etapa 1.

  4. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades do monitor da publicação na etapa 3 foram definidas incorretamente ou a publicação não existe.

  5. Chame o método EnumTracerTokens. Converta o objeto ArrayList retornado em uma matriz de objetos TracerToken.

  6. Chame o método EnumTracerTokenHistory. Passe um valor de TracerTokenID()()()() para um token de rastreamento da etapa 5. Isso retorna as informações da latência para o token de rastreamento selecionado como um objeto DataSet. Se todas as informações do token de rastreamento forem retornadas, a conexão entre o Publicador e o Distribuidor e a conexão entre o Distribuidor e o Assinante serão efetivas e a topologia de replicação estará funcionando.

Para remover tokens de rastreamento

  1. Crie uma conexão com o Distribuidor usando a classe ServerConnection.

  2. Crie uma instância da classe PublicationMonitor.

  3. Defina as propriedades Name, DistributionDBName, PublisherName e PublicationDBName; e, defina a propriedade ConnectionContext para a conexão criada na etapa 1.

  4. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades do monitor da publicação na etapa 3 foram definidas incorretamente ou a publicação não existe.

  5. Chame o método EnumTracerTokens. Converta o objeto ArrayList retornado em uma matriz de objetos TracerToken.

  6. Chame o método CleanUpTracerTokenHistory. Passe um dos seguintes valores:

    • O TracerTokenID()()()() para um token de rastreamento da etapa 5. Isso exclui as informações para um token selecionado.

    • Um objeto DateTime. Isso exclui as informações de todos os tokens anteriores à data e hora especificadas.