sp_replmonitorhelpsubscription (Transact-SQL)

Retorna informações de status atuais para assinaturas pertencentes a uma ou mais publicações no Publicador e retorna uma linha para cada assinatura retornada. Esse procedimento armazenado, usado para monitorar a replicação, é executado no Distribuidor, no banco de dados de distribuição.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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'
    É o nome do Publicador cujo status está sendo monitorado. publisher é sysname, com um valor padrão NULL. Se for null, as informações serão retornadas para todos os Publicadores que usam o Distribuidor.

  • [ @publisher_db = ] 'publisher_db'
    É o nome do banco de dados publicado. publisher_db é sysname, com um valor padrão NULL. Se for NULL, as informações serão retornadas para todos os bancos de dados publicados no Publicador.

  • [ @publication = ] 'publication'
    É o nome da publicação que está sendo monitorada. publication é sysname, com um valor padrão NULL.

  • [ @publication_type = ] publication_type
    É o tipo de publicação. publication_type é int e pode ser um destes valores.

    Valor

    Descrição

    0

    Publicação transacional.

    1

    Publicação de instantâneo.

    2

    Publicação de mesclagem.

    NULL (padrão)

    A replicação tenta determinar o tipo de publicação.

  • [ @mode = ] mode
    É o modo de filtragem a ser usado ao retornar informações de monitoramento de assinatura. mode é int, e pode ser um destes valores.

    Valor

    Descrição

    0 (padrão)

    Retorna todas as assinaturas.

    1

    Retorna somente assinaturas com erros.

    2

    Retorna somente assinaturas que geraram avisos de métrica de limite.

    3

    Retorna somente assinaturas que têm erros ou geraram avisos de métrica de limite.

    4

    Retorna as 25 piores assinaturas de desempenho.

    5

    Retorna as 50 piores assinaturas de desempenho.

    6

    Retorna somente assinaturas que estão sendo atualmente sincronizadas.

    7

    Retorna somente assinaturas que não estão sendo atualmente sincronizadas.

  • [ @topnum = ] topnum
    Restringe o conjunto de resultados a somente o número específico de assinaturas no topo dos dados retornados. topnum é int, sem padrão.

  • [ @exclude_anonymous = ] exclude_anonymous
    Se as assinaturas pull anônimas forem excluídas do conjunto de resultados. exclude_anonymous é bit, com um padrão 0; um valor 1 significa que as assinaturas anônimas serão excluídas e um valor 0 significa que serão incluídas.

  • [ @refreshpolicy= ] refreshpolicy
    Somente para uso interno.

Conjuntos de resultados

Nome da coluna

Tipo de dados

Descrição

status

int

Status máximo de todos os agentes de replicação associados com a publicação, que pode ser um destes valores.

1 = Iniciado

2 = Êxito

3 = Em andamento

4 = Ocioso

5 = Tentando novamente

6 = Falha

warning

int

Limite máximo gerado por uma assinatura pertencente à publicação, que pode ser o resultado OR lógico de um ou mais destes valores.

1 = expiration – uma assinatura para uma publicação transacional não foi sincronizada dentro do limite de período da retenção.

2 = latency – o tempo necessário para replicar dados de um Publicador transacional para o Assinante excede o limite, em segundos.

4 = mergeexpiration – uma assinatura para uma publicação de mesclagem não foi sincronizada dentro do limite de período da retenção.

8 = mergefastrunduration – o tempo necessário para concluir a sincronização de uma assinatura de mesclagem excede o limite, em segundos, em uma conexão veloz de rede.

16 = mergeslowrunduration - o tempo necessário para concluir a sincronização de uma assinatura de mesclagem excede o limite, em segundos, em uma conexão lenta de rede.

32 = mergefastrunspeed – a taxa de entrega de linhas durante a sincronização de uma assinatura de mesclagem não conseguiu manter a taxa limite de linhas por segundo em uma conexão veloz de rede.

64 = mergeslowrunspeed – a taxa de entrega de linhas durante a sincronização de uma assinatura de mesclagem não conseguiu manter a taxa limite de linhas por segundo em uma conexão dial-up, ou lenta, ou de rede.

subscriber

sysname

É o nome do Assinante.

subscriber_db

sysname

É o nome do banco de dados usado para a assinatura.

publisher_db

sysname

É o nome do banco de dados de publicação.

publication

sysname

É o nome de uma publicação.

publication_type

int

É o tipo de publicação, que pode ser um destes valores:

0 = Publicação transacional

1 = Publicação de instantâneo

2 = Publicação de mesclagem

subtype

int

É o tipo de assinatura que pode ser um dos valores seguintes:

0 = Push

1 = Pull

2 = Anônimo

latency

int

A latência mais alta, em segundos, para alterações de dados propagadas pelo Log Reader ou Distribution Agents para uma publicação transacional.

latencythreshold

int

É a latência máxima para a publicação transacional acima da qual uma advertência será gerada.

agentnotrunning

int

É a quantidade de tempo, em horas, durante a qual o agente não executou.

agentnotrunningthreshold

int

É a quantidade de tempo, em horas, em que o agente não executou, antes que um aviso fosse gerado.

timetoexpiration

int

É a quantidade de tempo, em horas, antes que a assinatura expire, se não estiver sincronizada.

expirationthreshold

int

É o tempo, em horas, antes que a assinatura expire e um aviso seja gerado.

last_distsync

datetime

A data e hora da última execução do Distribution Agent.

distribution_agentname

sysname

É o nome de trabalho do Distribution Agent para a assinatura em uma publicação transacional.

mergeagentname

sysname

É o nome de trabalho do Merge Agent para a assinatura em uma publicação de mesclagem.

mergesubscriptionfriendlyname

sysname

É o nome amigável dado à assinatura.

mergeagentlocation

sysname

É o nome do servidor no qual o Merge Agent é executado.

mergeconnectiontype

int

Conexão usada ao sincronizar uma assinatura a uma publicação de mesclagem, que pode ser um dos seguintes valores:

1 = LAN (rede local)

2 = conexão de rede dial-up

3 = sincronização da Web.

mergePerformance

int

Desempenho da última sincronização comparada com todas as sincronizações à assinatura, com base na taxa de entrega da última sincronização dividida pela média de todas as taxas de entrega anteriores.

mergerunspeed

float

É a taxa de entrega da última sincronização da assinatura.

mergerunduration

int

É a quantidade de tempo para concluir a última sincronização da assinatura.

monitorranking

int

É o valor de classificação usado para ordenar as assinaturas no conjunto de resultados, e pode ser um destes valores:

Para uma publicação transacional:

60 = Erro

56 = Aviso: desempenho crítico

52 = Aviso: expirando logo ou expirado

50 = Aviso: assinatura não inicializada

40 = Tentando novamente comando com falha

30 = Não executando (sucesso)

20 = Executando (iniciando, executando ou ocioso)

Para uma publicação de mesclagem:

60 = Erro

56 = Aviso: desempenho crítico

54 = Aviso: mesclagem de execução longa

52 = Aviso: expirando em breve

50 = Aviso: assinatura não inicializada

40 = Tentando novamente comando com falha

30 = Executando (iniciando, executando ou ocioso)

20 = Não executando (sucesso)

distributionagentjobid

binary(16)

ID de trabalho do Distribution Agent para assinaturas em uma publicação transacional.

mergeagentjobid

binary(16)

ID de trabalho do Merge Agent para assinaturas em uma publicação de mesclagem.

distributionagentid

int

ID de trabalho do Distribution Agent para a assinatura.

distributionagentprofileid

int

ID do perfil de agente usado pelo Distribution Agent.

mergeagentid

int

ID de trabalho do Merge Agent para a assinatura.

mergeagentprofileid

int

ID do perfil de agente usado pelo Merge Agent.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

sp_replmonitorhelpsubscrition é usado com todos os tipos de replicação.

sp_replmonitorhelpsubscription ordena o conjunto de resultados com base na severidade do status da assinatura, que é determinado pelo valor monitorranking. Por exemplo, linhas para todas as assinaturas em estado de erro são ordenadas acima das linhas de assinatura em estado de aviso.

Permissões

Somente membros da função de servidor fixa db_owner ou da função de banco de dados fixa replmonitor no banco de dados de distribuição podem executar sp_replmonitorhelpsubscription.