sp_replmonitorhelpsubscription (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed Instance

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 en 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 el estado del que se está supervisando. publisher es sysname, con un valor predeterminado de NULL. Si es null, se devuelve información para todos los publicadores que usan el distribuidor.

[ @publisher_db = ] 'publisher_db' Es el nombre de la base de datos publicada. publisher_db es sysname, con un valor predeterminado de 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 sysname, con un valor predeterminado de NULL.

[ @publication_type = ] publication_type Si el tipo de publicación. publication_type es int y puede ser uno de estos valores.

Value Descripción
0 Publicación transaccional.
1 Publicación de instantáneas.
2 Publicación de combinación.
NULL (predeterminado) La replicación intenta determinar el tipo de publicación.

[ @mode = ] mode Es el modo de filtrado que se va a usar al devolver información de supervisión de suscripciones. mode es int y puede ser uno de estos valores.

Value 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 peor rendimiento.
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 a solo el número especificado de suscripciones en la parte superior de los datos devueltos. topnum es int, sin valor predeterminado.

[ @exclude_anonymous = ] exclude_anonymous Es si las suscripciones de extracción anónimas se excluyen del conjunto de resultados. exclude_anonymous es bit, con un valor predeterminado de 0; un valor de 1 significa que las suscripciones anónimas se excluyen y un valor de 0 significa que se incluyen.

[ @refreshpolicy = ] refreshpolicy Solo uso interno.

Conjuntos de resultados

Nombre de la 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 = Error

5 = Reintentar

2 = Detenido

4 = Inactivo

3 = En curso

1 = Iniciado
general, 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 = expiración: una suscripción a una publicación transaccional no se ha sincronizado dentro del umbral del período de retención.

2 = latencia: el tiempo necesario para 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 dentro del umbral del período de retención.

8 = mergefastrunduration: el tiempo necesario para completar 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 necesario para completar la sincronización de una suscripción de mezcla supera el umbral, en segundos, a través de una conexión de red lenta o de acceso telefónico.

32 = mergefastrunspeed: la velocidad de entrega de las 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 rápida.

64 = mergeslowrunspeed: la velocidad de entrega de las 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 publicación.
Publicación 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áneas

2 = Publicación de mezcla
subtype int Es el tipo de suscripción, que puede ser uno de los siguientes valores:

0 = Insertar

1 = Extracción

2 = Anónimo
latency int La mayor latencia, en segundos, para los cambios de datos propagados por los agentes de distribución o de registro del LOG para una publicación transaccional.
latenciathreshold 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 el tiempo, en horas, que el agente no se ha ejecutado antes de que se genere una advertencia.
timetoexpiration int Es el 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 del 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.
fusionunspeed float Tasa de entrega de la última sincronización de la suscripción.
fusionunduration 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: crítico para el rendimiento

52 = Advertencia: expirando pronto o expirando

50 = Advertencia: suscripción sin inicializar

40 = Comando con error de reintento

30 = No se está ejecutando (correcto)

20 = En ejecución (inicio, ejecución o inactividad)

Para una publicación de combinación:

60 = Error

56 = Advertencia: crítico para el rendimiento

54 = Advertencia: combinación de larga duración

52 = Advertencia: expirando pronto

50 = Advertencia: suscripción sin inicializar

40 = Comando con error de reintento

30 = En ejecución (inicio, ejecución o inactividad)

20 = No se está ejecutando (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 del agente utilizado por el Agente de distribución.
mergeagentid int Identificador del trabajo del Agente de combinación 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 usa con todos los tipos de replicación.

sp_replmonitorhelpsubscription ordena el conjunto de resultados en función de la gravedad del estado de la suscripción, que viene 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 del rol fijo de base de datos db_owner o replmonitor en la base de datos de distribución pueden ejecutar sp_replmonitorhelpsubscription.

Consulte también

Supervisar la replicación mediante programación