Cómo supervisar la replicación mediante programación (programación de la replicación con Transact-SQL)

El Monitor de replicación es una herramienta gráfica que permite supervisar una topología de replicación. Puede tener acceso a los mismos datos de supervisión mediante programación si usa procedimientos almacenados de replicación. Estos procedimientos almacenados permiten programar las tareas siguientes:

  • Supervisar el estado de publicadores, publicaciones y suscripciones.

  • Supervisar sesiones del Agente de mezcla en uno o más suscriptores.

  • Supervisar comandos transaccionales que esperan su aplicación en uno o más suscriptores.

  • Definir métricas de umbral que determinan cuándo requiere intervención una publicación.

Para supervisar publicadores, publicaciones y suscripciones desde el distribuidor

  1. En el distribuidor de la base de datos de distribución, ejecute sp_replmonitorhelppublisher. De esta forma se devuelve la información de supervisión de todos los publicadores que usan este distribuidor. Para limitar el conjunto de resultados a un único publicador, especifique un valor en @publisher.

  2. En el distribuidor de la base de datos de distribución, ejecute sp_replmonitorhelppublication. De esta forma se devuelve la información de supervisión de todas las publicaciones que usan este distribuidor. Para limitar el conjunto de resultados a un único publicador, publicación o base de datos de publicación, especifique un valor en @publisher, @publication o @publisher_db, respectivamente.

  3. En el distribuidor de la base de datos de distribución, ejecute sp_replmonitorhelpsubscription. De esta forma se devuelve la información de supervisión de todas las suscripciones que usan este distribuidor. Para limitar el conjunto de resultados a las suscripciones que pertenecen a un único publicador, publicación o base de datos de publicación, especifique un valor en @publisher, @publication o @publisher_db, respectivamente.

Para supervisar los comandos transaccionales que esperan su aplicación en el suscriptor

  • En el distribuidor de la base de datos de distribución, ejecute sp_replmonitorsubscriptionpendingcmds. De esta forma se devuelve la información de supervisión de todos los comandos pendientes en todas las suscripciones que usan este distribuidor. Para limitar el conjunto de resultados a los comandos pendientes de las suscripciones que pertenecen a un único publicador, suscriptor, publicación o base de datos de publicación, especifique un valor en @publisher, @subscriber, @publication o @publisher_db, respectivamente.

Para supervisar los cambios de mezcla que esperan ser cargados o descargados

  1. En el publicador de la base de datos de publicación, ejecute sp_showpendingchanges. De esta forma se devuelve un conjunto de resultados que muestra información sobre los cambios que esperan su replicación en los suscriptores. Para limitar el conjunto de resultados a los cambios que pertenecen a una publicación o artículo únicos, especifique un valor en @publication o @article, respectivamente.

  2. En el suscriptor de la base de datos de suscripciones, ejecute sp_showpendingchanges. De esta forma se devuelve un conjunto de resultados que muestra información sobre los cambios que esperan su replicación en el publicador. Para limitar el conjunto de resultados a los cambios que pertenecen a una publicación o artículo únicos, especifique un valor en @publication o @article, respectivamente.

Para supervisar las sesiones del Agente de mezcla

  1. En el distribuidor de la base de datos de distribución, ejecute sp_replmonitorhelpmergesession. De esta forma se devuelve información de supervisión, incluido el valor de Session_id, de todas las sesiones del Agente de mezcla de todas las suscripciones que usan este distribuidor. También puede obtener el valor de Session_id si consulta la tabla del sistema MSmerge_sessions.

  2. En el distribuidor de la base de datos de distribución, ejecute sp_replmonitorhelpmergesessiondetail. Especifique el valor Session_id del paso 1 en @session_id. De esta forma se muestra información detallada de supervisión acerca de la sesión.

  3. Repita el paso 2 para cada sesión que le interese.

Para supervisar las sesiones del Agente de mezcla de las suscripciones de extracción del suscriptor

  1. En el suscriptor de la base de datos de suscripciones, ejecute sp_replmonitorhelpmergesession. Para una suscripción determinada, especifique un valor en @publisher, un valor en @publication y el nombre de la base de datos de publicación en @publisher_db. De esta forma se devuelve información de supervisión de las últimas cinco sesiones del Agente de mezcla de esta suscripción. Anote el valor de Session_id de las sesiones de interés incluidas en el conjunto de resultados.

  2. En el suscriptor de la base de datos de suscripciones, ejecute sp_replmonitorhelpmergesessiondetail. Especifique el valor Session_id del paso 1 en @session_id. De esta forma se muestra información detallada de supervisión acerca de la sesión.

  3. Repita el paso 2 para cada sesión que le interese.

Para ver y modificar las métricas del umbral de supervisión de una publicación

  1. En el distribuidor de la base de datos de distribución, ejecute sp_replmonitorhelppublicationthresholds. De esta forma se devuelve el conjunto de umbrales de supervisión de todas las publicaciones que usan este distribuidor. Para limitar el conjunto de resultados a los umbrales de supervisión de las publicaciones que pertenecen a un único publicador, base de datos de publicación o publicación, especifique un valor en @publisher, @publisher_db o @publication, respectivamente. Anote el valor de Metric_id de cualquier umbral que se deba cambiar. Para obtener más información, vea Establecer umbrales y advertencias en el Monitor de replicación.

  2. En el distribuidor de la base de datos de distribución, ejecute sp_replmonitorchangepublicationthreshold. Especifique los valores siguientes, según sea necesario:

    • El valor de Metric_id obtenido en el paso 1 en @metric_id.

    • Un nuevo valor para la métrica del umbral de supervisión en @value.

    • Un valor de 1 en @shouldalert para que se registre una alerta cuando se alcance este umbral o un valor de 0 si no se necesita una alerta.

    • Un valor de 1 en @mode para habilitar la métrica del umbral de supervisión o un valor de 2 para deshabilitarla.