sp_replmonitorhelpsubscription (Transact-SQL)
Devuelve información de estado actual sobre las suscripciones que pertenecen a una o más publicaciones en el publicador y devuelve una fila por cada suscripción devuelta. Este procedimiento almacenado, que se utiliza para supervisar la replicación, se ejecuta en el distribuidor de la base de datos de distribución.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_replmonitorhelpsubscription [ @publisher = ] 'publisher'
[ , [ @publisher_db = ] 'publisher_db' ]
[ , [ @publication = ] 'publication' ]
[ , [ @publication_type = ] publication_type ]
[ , [ @mode = ] mode ]
[ , [ @topnum = ] topnum ]
[ , [ @exclude_anonymous = ] exclude_anonymous ]
[ , [ @refreshpolicy = ] refreshpolicy ]
Argumentos
[ @publisher = ] 'publisher'
Es el nombre del publicador cuyo estado se está supervisando. publisher es de tipo sysname y su valor predeterminado es NULL. Si es null, se devuelve información sobre todos los publicadores que utilizan el distribuidor.[ @publisher_db = ] 'publisher_db'
Es el nombre de la base de datos publicada. publisher_db es de tipo sysname y su valor predeterminado es NULL. Si es NULL, se devuelve información sobre todas las bases de datos publicadas en el publicador.[ @publication = ] 'publication'
Es el nombre de la publicación que se está supervisando. publication es de tipo sysname y su valor predeterminado es NULL.[ @publication_type = ] publication_type
Es el tipo de publicación. publication_type es de tipo int y puede tener uno de estos valores.Valor
Descripción
0
Publicación transaccional.
1
Publicación de instantáneas.
2
Publicación de combinación.
NULL (valor predeterminado)
La replicación intenta determinar el tipo de publicación.
[ @mode = ] mode
Es el modo de filtrado que se va a utilizar al devolver información sobre la supervisión de la suscripción. mode es de tipo int y puede tener uno de estos valores.Valor
Descripción
0 (valor predeterminado)
Devuelve todas las suscripciones.
1
Solo devuelve las suscripciones con errores.
2
Solo devuelve las suscripciones que han generado advertencias de métrica de umbral.
3
Solo devuelve las suscripciones que o tienen errores o han generado advertencias de métrica de umbral.
4
Devuelve las 25 suscripciones con un rendimiento peor.
5
Devuelve las 50 suscripciones con un rendimiento peor.
6
Solo devuelve las suscripciones que se están sincronizando en ese momento.
7
Solo devuelve las suscripciones que no se están sincronizando en ese momento.
[ @topnum = ] topnum
Restringe el conjunto de resultados únicamente al número especificado de suscripciones situadas en la parte superior de los datos devueltos. topnum es de tipo int y no tiene ningún valor predeterminado.[ @exclude_anonymous = ] exclude_anonymous
Indica si las suscripciones de extracción anónimas se excluyen del conjunto de resultados. exclude_anonymous es de tipo bit y su valor predeterminado es 0; el valor 1 significa que se excluyen las suscripciones anónimas, mientras que el valor 0 significa que se incluyen.[ @refreshpolicy= ] refreshpolicy
Solo para uso interno.
Conjuntos de resultados
Nombre de columna |
Tipo de datos |
Descripción |
---|---|---|
status |
int |
Examina el estado de todos los agentes de replicación asociados a la publicación, y devuelve el estado más alto encontrado en el orden siguiente: 6 = No realizada 5 = Reintentando 2 = Detenida 4 = Inactiva 3 = En curso 1 = Iniciada |
warning |
int |
Advertencia de umbral máximo generada por una suscripción que pertenece a la publicación, que puede ser el resultado de OR lógico de uno o más de estos valores. 1 = expiration: una suscripción a una publicación transaccional no se ha sincronizado en el umbral del período de retención. 2 = latency: el tiempo que lleva replicar datos de un publicador transaccional al suscriptor supera el umbral, en segundos. 4 = mergeexpiration: una suscripción a una publicación de combinación no se ha sincronizado en el umbral del período de retención. 8 = mergefastrunduration: el tiempo que lleva finalizar la sincronización de una suscripción de mezcla supera el umbral, en segundos, a través de una conexión de red rápida. 16 = mergeslowrunduration: el tiempo que lleva finalizar la sincronización de una suscripción de combinación supera el umbral, en segundos, en una conexión de red lenta o de acceso telefónico. 32 = mergefastrunspeed: la tasa de entrega de filas durante la sincronización de una suscripción de combinación no ha podido mantener la tasa de umbral, en filas por segundo, en una conexión de red rápida. 64 = mergeslowrunspeed: la tasa de entrega de filas durante la sincronización de una suscripción de mezcla no ha podido mantener la tasa de umbral, en filas por segundo, a través de una conexión de red lenta o de acceso telefónico. |
subscriber |
sysname |
Es el nombre del suscriptor. |
subscriber_db |
sysname |
Es el nombre de la base de datos utilizada para la suscripción. |
publisher_db |
sysname |
Es el nombre de la base de datos de publicaciones. |
publication |
sysname |
Es el nombre de una publicación. |
publication_type |
int |
Es el tipo de publicación, que puede ser uno de estos valores: 0 = Publicación transaccional 1 = Publicación de instantánea 2 = Publicación de combinación |
subtype |
int |
Es el tipo de suscripción, que puede ser uno de los siguientes valores: 0 = Inserción 1 = Extracción 2 = Anónima |
latency |
int |
La latencia máxima, en segundos, para los cambios de datos propagados por los Agentes de registro del LOG o de distribución para una publicación transaccional. |
latencythreshold |
int |
La latencia máxima para la publicación transaccional por encima de la cual se genera una advertencia. |
agentnotrunning |
int |
Es la cantidad de tiempo, en horas, durante la que el agente no se ha ejecutado. |
agentnotrunningthreshold |
int |
Es la cantidad de tiempo, en horas, que el agente no se ha ejecutado antes de que se genere una advertencia. |
timetoexpiration |
int |
Es la cantidad de tiempo, en horas, antes de que expire la suscripción si no se sincroniza. |
expirationthreshold |
int |
Es el tiempo, en horas, en que se genera una advertencia antes de que expire la suscripción. |
last_distsync |
datetime |
Es la fecha y hora en que el Agente de distribución se ejecutó por última vez. |
distribution_agentname |
sysname |
Es el nombre del trabajo de Agente de distribución para la suscripción a una publicación transaccional. |
mergeagentname |
sysname |
Es el nombre del trabajo de Agente de mezcla para la suscripción a una publicación de combinación. |
mergesubscriptionfriendlyname |
sysname |
Es el nombre descriptivo dado a la suscripción. |
mergeagentlocation |
sysname |
Es el nombre del servidor en el que se ejecuta el Agente de mezcla. |
mergeconnectiontype |
int |
Conexión que se utiliza al sincronizar una suscripción a una publicación de combinación. Puede ser uno de los siguientes valores: 1 = red de área local (LAN) 2 = conexión de red de acceso telefónico 3 = sincronización web |
mergePerformance |
int |
Rendimiento de la última sincronización con respecto a todas las sincronizaciones de la suscripción. Se basa en la tasa de entrega de la última sincronización dividida entre la media de todas las tasas de entrega anteriores. |
mergerunspeed |
float |
Tasa de entrega de la última sincronización de la suscripción. |
mergerunduration |
int |
Es el tiempo necesario para completar la última sincronización de la suscripción. |
monitorranking |
int |
Es el valor de categoría utilizado para ordenar las suscripciones en el conjunto de resultados. Puede ser uno de estos valores: Para una publicación transaccional: 60 = Error 56 = Advertencia: rendimiento crítico 52 = Advertencia: con expiración en breve o expirada 50 = Advertencia: suscripción no inicializada 40 = Reintentando comando con errores 30 = No está en ejecución (correcto) 20 = En ejecución (inicio, ejecución o inactivo) Para una publicación de combinación: 60 = Error 56 = Advertencia: rendimiento crítico 54 = Advertencia: mezcla de ejecución prolongada 52 = Advertencia: con expiración en breve 50 = Advertencia: suscripción no inicializada 40 = Reintentando comando con errores 30 = En ejecución (inicio, ejecución o inactivo) 20 = No está en ejecución (correcto) |
distributionagentjobid |
binary(16) |
Id. del trabajo de Agente de distribución para las suscripciones a una publicación transaccional. |
mergeagentjobid |
binary(16) |
Id. del trabajo de Agente de mezcla para las suscripciones a una publicación de combinación. |
distributionagentid |
int |
Id. del trabajo de Agente de distribución para la suscripción. |
distributionagentprofileid |
int |
Identificador del perfil de agente utilizado por el Agente de distribución. |
mergeagentid |
int |
Identificador del trabajo de Agente de mezcla para la suscripción. |
mergeagentprofileid |
int |
Id. del perfil de agente utilizado por el Agente de mezcla. |
Valores de código de retorno
0 (correcto) o 1 (error)
Comentarios
sp_replmonitorhelpsubscription se utiliza con todos los tipos de replicación.
sp_replmonitorhelpsubscription ordena el conjunto de resultados según la gravedad del estado de la suscripción, que está determinado por el valor de monitorranking. Por ejemplo, las filas de todas las suscripciones con un estado de error se colocan por encima de las filas de suscripciones con un estado de advertencia.
Permisos
Solo los miembros de los roles fijos de base de datos db_owner o replmonitor de la base de datos de distribución pueden ejecutar sp_replmonitorhelpsubscription.