Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Managed Instance
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 usando los procedimientos de almacenamiento de replicación de Transact-SQL o Replication Management Objects (RMO). Estos objetos 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.
Supervise el estado de los tokens de rastreo.
Transact-SQL
Para supervisar editores, publicaciones y suscripciones desde el distribuidor
En el distribuidor, en 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.
En el Distribuidor, en 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, @publicationo @publisher_db, respectivamente.
En el Distribuidor, en 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, @publicationo @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. Esto devuelve información de supervisión de todos los comandos pendientes para todas las suscripciones que utilizan 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, @publicationo @publisher_db, respectivamente.
Para supervisar los cambios de fusión pendientes de subir o descargar
En el servidor Publicador, en 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.
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
En el Distribuidor, en 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 .
En el Distribuidor, en 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.
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
En el suscriptor de la base de datos de suscripciones, ejecute sp_replmonitorhelpmergesession. Para una suscripción determinada, especifique @publisher, @publication y el nombre de la base de datos de la publicación para @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.
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.
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
En el Distribuidor, en la base de datos de distribución, ejecute sp_replmonitorhelppublicationthresholds. Esto devuelve los umbrales de supervisión establecidos para todas las publicaciones que utilizan este distribuidor. Para limitar el conjunto de resultados a los umbrales de supervisión para publicaciones que pertenecen a un único editor, a una única base de datos publicada o a una única publicación, especifique @publisher, @publisher_db o @publication, respectivamente. Anote el valor de Metric_id de cualquier umbral que se deba cambiar. Para más información, consulte Establecer umbrales y advertencias en el Monitor de replicación.
En el Distribuidor, en 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.
Objetos de Gestión de Replicación (RMO)
Para supervisar una suscripción a una publicación de combinación en el suscriptor
Cree una conexión al suscriptor mediante la clase ServerConnection.
Cree una instancia de la clase MergeSubscriberMonitor, y establezca las propiedades Publisher, Publication, PublisherDB y SubscriberDB para la suscripción, y establezca la propiedad ConnectionContext en el valor de ServerConnection creado en el paso 1.
Llame a alguno de los métodos siguientes para devolver información sobre sesiones de Agente de mezcla de esta suscripción:
GetSessionsSummary : devuelve una matriz de objetos MergeSessionSummary con información de hasta las últimas cinco sesiones del Agente de mezcla. Anote el valor SessionId de cualquier sesión que le interese.
GetSessionsSummary: devuelve una matriz de objetos MergeSessionSummary con información sobre las sesiones del Agente de mezcla que se han producido durante el número de horas anterior especificado en el parámetro hours (hasta un máximo de las cinco últimas sesiones). Anote el valor SessionId de cualquier sesión que le interese.
GetLastSessionSummary : devuelve un objeto MergeSessionSummary con información sobre la última sesión del Agente de mezcla. Tome nota del valor SessionId de esta sesión.
GetSessionsSummaryDataSet : devuelve un objeto DataSet con información sobre hasta las últimas cinco sesiones del Agente de mezcla, una en cada fila. Anote el valor de la columna Session_id de las sesiones que le interesen.
GetLastSessionSummaryDataRow : devuelve un objeto DataRow con información sobre la última sesión del Agente de mezcla. Anote el valor de la columna Session_id de esta sesión.
(Opcional) Llame a RefreshSessionSummary para actualizar los datos del objeto MergeSessionSummary pasados como mss, o llame a RefreshSessionSummary para actualizar los datos del objeto DataRow pasados como drRefresh.
Con el Id. de sesión obtenido en el paso 3, llame a uno de los métodos siguientes para devolver información sobre los detalles de una sesión determinada:
GetSessionDetails - devuelve un array de objetos MergeSessionDetail para el SessionId proporcionado.
GetSessionDetailsDataSet - devuelve un objeto DataSet con información para el SessionId especificado.
Para supervisar las propiedades de replicación de todas las publicaciones en un distribuidor
Cree una conexión al distribuidor mediante la clase ServerConnection .
Cree una instancia de la clase ReplicationMonitor.
Establezca la propiedad ConnectionContext de la ServerConnection creada en el paso 1.
Llame al método LoadProperties para obtener las propiedades del objeto.
Ejecute uno o más de los métodos siguientes para devolver información de replicación para todos los publicadores que utilizan este distribuidor.
EnumDistributionAgents : devuelve un objeto DataSet que contiene información sobre todos los agentes de distribución en este distribuidor.
EnumErrorRecords : devuelve un objeto DataSet que contiene información sobre los errores almacenados en el distribuidor.
EnumLogReaderAgents - devuelve un objeto DataSet que contiene información sobre todos los agentes de lectura de registros en el distribuidor.
EnumMergeAgents : devuelve un objeto DataSet que contiene información sobre todos los agentes de mezcla en el distribuidor.
EnumMiscellaneousAgents - devuelve un objeto DataSet que contiene información sobre todos los demás agentes de replicación en el Distribuidor.
EnumPublishers : devuelve un objeto DataSet que contiene información sobre todos los publicadores en el distribuidor.
EnumPublishers2 : devuelve un objeto DataSet que devuelve los publicadores que utilizan este distribuidor.
EnumQueueReaderAgents - devuelve un objeto DataSet que contiene información sobre todos los agentes de lectura de colas en el distribuidor.
EnumQueueReaderAgentSessionDetails : devuelve un objeto DataSet que contiene los detalles sobre el Agente de lectura de cola especificado y la sesión.
EnumQueueReaderAgentSessions - devuelve un objeto DataSet que contiene información de sesión del Agente Lector de colas especificado.
EnumSnapshotAgents - devuelve un objeto DataSet que contiene información sobre todos los agentes de instantáneas del distribuidor.
Para supervisar las propiedades de publicación de un Editor concreto en el Distribuidor
Cree una conexión al distribuidor mediante la clase ServerConnection .
Obtenga un objeto PublisherMonitor de alguna de estas maneras.
Cree una instancia de la clase PublisherMonitor. Establezca las propiedades Name del publicador, y establezca la propiedad ConnectionContext en la ServerConnection creada en el paso 1. Llame al método LoadProperties para obtener las propiedades del objeto. Si este método devuelve false, significa que el nombre del publicador se definió incorrectamente o que la publicación no existe.
De PublisherMonitorCollection al que obtuvo acceso por medio de la propiedad PublisherMonitors de un objeto ReplicationMonitor existente.
Ejecute uno o varios de los siguientes métodos para devolver la información de replicación de todas las publicaciones que pertenecen a este Publicador.
EnumDistributionAgentSessionDetails : devuelve un objeto DataSet que contiene los detalles sobre el Agente de distribución especificado y la sesión.
EnumDistributionAgentSessions : devuelve un objeto DataSet que contiene información de sesión sobre el Agente de distribución especificado.
EnumErrorRecords : devuelve un objeto DataSet que contiene información de registro de error sobre un error especificado.
EnumLogReaderAgentSessionDetails - devuelve un objeto DataSet que contiene los detalles del Agente lector de registros y la sesión especificados.
EnumLogReaderAgentSessions - devuelve un objeto DataSet que contiene información sobre la sesión del Agente Lector del Registro especificado.
EnumMergeAgentSessionDetails : devuelve un objeto DataSet que contiene los detalles sobre el Agente de mezcla especificado y la sesión.
EnumMergeAgentSessionDetails2 : devuelve un objeto DataSet que contiene los detalles adicionales sobre el Agente de mezcla especificado y la sesión.
EnumMergeAgentSessions - devuelve un objeto DataSet que contiene información de sesión para el Agente de mezcla especificado.
EnumMergeAgentSessions2 : devuelve un objeto DataSet que contiene información de sesión adicional sobre el Agente de mezcla especificado.
EnumPublications : devuelve un objeto DataSet que contiene información sobre todas las publicaciones en el distribuidor.
EnumPublications2 : devuelve un objeto DataSet que contiene información adicional sobre todas las publicaciones en el distribuidor.
EnumSnapshotAgentSessionDetails : devuelve un objeto DataSet que contiene los detalles sobre el Agente de instantánea especificado y la sesión.
EnumSnapshotAgentSessions : devuelve un objeto DataSet que contiene información de sesión de un Agente de instantánea especificado.
EnumSubscriptions : devuelve un objeto DataSet que contiene información sobre todas las suscripciones a publicaciones en el distribuidor.
Para monitorizar las propiedades de una publicación específica en el distribuidor
Cree una conexión al distribuidor mediante la clase ServerConnection .
Obtenga un objeto PublicationMonitor de alguna de estas maneras.
Cree una instancia de la clase PublicationMonitor. Establezca las propiedades DistributionDBName, PublisherName, PublicationDBName y Name de la publicación, y establezca la propiedad ConnectionContext en la ServerConnection creada en el paso 1. 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 de definieron incorrectamente o que la publicación no existe.
De PublicationMonitorCollection al que obtuvo acceso por medio de la propiedad PublicationMonitors de un objeto PublisherMonitor existente.
Ejecute uno o más de los métodos siguientes para devolver información sobre esta publicación.
EnumErrorRecords : devuelve un objeto DataSet que contiene registros de error sobre un error especificado.
EnumLogReaderAgent - devuelve un objeto DataSet que contiene información sobre el agente de lectura de registros de esta publicación.
EnumMonitorThresholds - devuelve un objeto DataSet que contiene información sobre los umbrales de advertencia del monitor establecidos para esta publicación.
EnumQueueReaderAgent - devuelve un objeto DataSet que contiene información sobre el Queue Reader Agent que usa esta publicación.
EnumSnapshotAgent - devuelve un objeto DataSet que contiene información sobre el agente de instantáneas de esta publicación.
EnumSubscriptions : devuelve un objeto DataSet que contiene información sobre las suscripciones a esta publicación.
EnumSubscriptions2 : devuelve un objeto DataSet que contiene información adicional sobre suscripciones a esta publicación basándose en el SubscriptionResultOptionproporcionado.
EnumTracerTokenHistory : devuelve un objeto DataSet que contiene información de latencia del token de seguimiento especificado.
EnumTracerTokens - devuelve un objeto DataSet que contiene información sobre todos los tokens de rastreo insertados en esta publicación.
Para monitorizar los comandos transaccionales que están pendientes de aplicarse en el suscriptor.
Cree una conexión al distribuidor mediante la clase ServerConnection .
Obtenga un objeto PublicationMonitor de alguna de estas maneras.
Cree una instancia de la clase PublicationMonitor. Establezca las propiedades DistributionDBName, PublisherName, PublicationDBName y Name de la publicación, y establezca la propiedad ConnectionContext en el valor ServerConnection creado en el paso 1. 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 de definieron incorrectamente o que la publicación no existe.
De PublicationMonitorCollection al que obtuvo acceso por medio de la propiedad PublicationMonitors de un objeto PublisherMonitor existente.
Ejecute el método TransPendingCommandInfo , que devuelve un objeto PendingCommandInfo .
Utilice las propiedades de este objeto PendingCommandInfo para determinar el número estimado de comandos pendientes y el tiempo que tardará en completarse la entrega de estos comandos.
Para establecer los umbrales de advertencia del monitor de una publicación
Cree una conexión al distribuidor mediante la clase ServerConnection .
Obtenga un objeto PublicationMonitor de alguna de estas maneras.
Cree una instancia de la clase PublicationMonitor. Establezca las propiedades DistributionDBName, PublisherName, PublicationDBName y Name de la publicación, y establezca la propiedad ConnectionContext en el valor ServerConnection creado en el paso 1. 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 de definieron incorrectamente o que la publicación no existe.
De PublicationMonitorCollection al que obtuvo acceso por medio de la propiedad PublicationMonitors de un objeto PublisherMonitor existente.
Ejecute el método EnumMonitorThresholds . Anote los valores de umbral actuales del ArrayList devuelto de los objetos MonitorThreshold .
Ejecute el método ChangeMonitorThreshold . Pase los siguientes parámetros:
metricID : un valor Int32 que representa la métrica de umbral de supervisión en la tabla siguiente:
Valor Descripción 1 expiration : supervisa la expiración inminente de suscripciones a publicaciones transaccionales. 2 latency - supervisa el rendimiento de las suscripciones a publicaciones transaccionales. 4 mergeexpiration - supervisa la caducidad inminente de las suscripciones a publicaciones de fusión. 5 mergeslowrunduration: supervisa la duración de las sincronizaciones de fusión en conexiones de bajo ancho de banda (acceso telefónico). 6 mergefastrunduration - supervisa la duración de las sincronizaciones de combinación en conexiones de ancho de banda elevado (LAN). 7 mergefastrunspeed : supervisa la velocidad de sincronización de sincronizaciones de mezcla en conexiones de red de área local (LAN) de gran ancho de banda. 8 mergeslowrunspeed - supervisa la velocidad de sincronización de las sincronizaciones de combinación en conexiones de bajo ancho de banda (acceso telefónico). enable - Boolean valor que indica si la métrica está habilitada para la publicación.
thresholdValue : el valor entero que establece el umbral.
shouldAlert : el entero que indica si este umbral debería generar una alerta.