Cómo medir la latencia y validar conexiones para la replicación transaccional (programación con RMO)

Para la replicación transaccional, es importante poder comprobar que los servidores están conectados y medir la latencia. La latencia se mide utilizando los testigos de seguimiento. La latencia es el tiempo que tardan en propagarse en los suscriptores los cambios realizados en el publicador. Para obtener más información, vea Medir la latencia y validar las conexiones en la replicación transaccional. Esta información se puede obtener mediante programación utilizando objetos de administración de replicación (RMO).

Para exponer un testigo de seguimiento en una publicación transaccional

  1. Cree una conexión al publicador mediante la clase ServerConnection.

  2. Cree una instancia de la clase TransPublication.

  3. Establezca las propiedades Name y DatabaseName para la publicación y la propiedad ConnectionContext en la conexión creada en el paso 1.

  4. Llame al método LoadProperties para obtener las propiedades del objeto. Si este método devuelve false, significa que las propiedades de la publicación del paso 3 se definieron incorrectamente, o bien que la publicación no existe.

  5. Llame al método PostTracerToken. Este método inserta un testigo de seguimiento en el registro de transacciones de la publicación.

Para medir la latencia y validar las conexiones de una replicación transaccional

  1. Cree una conexión al distribuidor mediante la clase ServerConnection.

  2. Cree una instancia de la clase PublicationMonitor.

  3. Establezca las propiedades Name, DistributionDBName, PublisherName y PublicationDBName, y la propiedad ConnectionContext en la conexión creada en el paso 1.

  4. Llame al método LoadProperties para obtener las propiedades del objeto. Si este método devuelve false, significa que las propiedades del monitor de la publicación del paso 3 se definieron incorrectamente, o bien que la publicación no existe.

  5. Llame al método EnumTracerTokens. Convierta el objeto ArrayList devuelto a una matriz de objetos TracerToken.

  6. Llame al método EnumTracerTokenHistory. Pase un valor de TracerTokenID()()()() para un testigo de seguimiento del paso 5. Esto devuelve información de latencia del testigo de seguimiento seleccionado como objeto DataSet. Si se devuelve toda la información del testigo de seguimiento, la conexión entre el publicador y el distribuidor y la conexión entre el distribuidor y el suscriptor existen, y la topología de replicación está funcionando.

Para quitar los testigos de seguimiento

  1. Cree una conexión al distribuidor mediante la clase ServerConnection.

  2. Cree una instancia de la clase PublicationMonitor.

  3. Establezca las propiedades Name, DistributionDBName, PublisherName y PublicationDBName, y la propiedad ConnectionContext en la conexión creada en el paso 1.

  4. Llame al método LoadProperties para obtener las propiedades del objeto. Si este método devuelve false, significa que las propiedades del monitor de la publicación del paso 3 se definieron incorrectamente, o bien que la publicación no existe.

  5. Llame al método EnumTracerTokens. Convierta el objeto ArrayList devuelto a una matriz de objetos TracerToken.

  6. Llame al método CleanUpTracerTokenHistory. Pase uno de los siguientes valores:

    • El TracerTokenID()()()() para un testigo de seguimiento del paso 5. Esto elimina información de un testigo seleccionado.

    • Un objeto DateTime Esto elimina información de todos los testigos anteriores a la fecha y hora especificada.