Partilhar via


sp_replmonitorhelpsubscription (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL Managed Instance

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

Transact-SQL convenções de sintaxe

Sintaxe

sp_replmonitorhelpsubscription
    [ [ @publisher = ] N'publisher' ]
    [ , [ @publisher_db = ] N'publisher_db' ]
    [ , [ @publication = ] N'publication' ]
    [ , [ @publication_type = ] publication_type ]
    [ , [ @mode = ] mode ]
    [ , [ @topnum = ] topnum ]
    [ , [ @exclude_anonymous = ] exclude_anonymous ]
    [ , [ @refreshpolicy = ] refreshpolicy ]
[ ; ]

Argumentos

[ @publisher = ] N'editora'

O nome do Editor cujo status está sendo monitorado. @publisher é sysname, com um padrão de NULL. Se nulo, as informações serão retornadas para todos os Editores que usam o Distribuidor.

@publisher_db [ = ] N'publisher_db'

O nome do banco de dados publicado. @publisher_db é sysname, com um padrão de NULL. Se NULL, as informações serão retornadas para todos os bancos de dados publicados no Editor.

@publication [ = ] N'publicação'

O nome da publicação que está a ser monitorizada. @publication é sysname, com um padrão de NULL.

@publication_type [ = ] publication_type

Se o tipo de publicação. @publication_type é int, e pode ser um desses valores.

Valor Descrição
0 Publicação transacional.
1 Publicação de instantâneos.
2 Mesclar publicação.
NULL (padrão) A replicação tenta determinar o tipo de publicação.

@mode [ = ] modo

O modo de filtragem a ser usado ao retornar informações de monitoramento de assinatura. @mode é int, e pode ser um desses valores.

Valor Descrição
0 (padrão) Devolve todas as subscrições.
1 Retorna apenas assinaturas com erros.
2 Retorna apenas assinaturas que geram avisos de métrica de limite.
3 Retorna somente assinaturas que apresentam erros ou geram avisos de métrica de limite.
4 Devolve as 25 subscrições com pior desempenho.
5 Devolve as 50 subscrições com pior desempenho.
6 Retorna apenas assinaturas que estão sendo sincronizadas no momento.
7 Retorna apenas assinaturas que não estão sendo sincronizadas no momento.

@topnum [ = ] topnum

Restringe o conjunto de resultados apenas ao número especificado de assinaturas na parte superior dos dados retornados. @topnum é int, com um padrão de NULL.

@exclude_anonymous [ = ] exclude_anonymous

Se as assinaturas pull anônimas forem excluídas do conjunto de resultados. @exclude_anonymous é bit, com um padrão de 0.

  • Um valor significa 1 que as subscrições anónimas são excluídas.
  • Um valor de 0 significa que eles estão incluídos.

@refreshpolicy [ = ] Política de atualização

Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.

Conjunto de resultados

Nome da coluna Tipo de dados Descrição
status Int Examina o status de todos os agentes de replicação associados à publicação e retorna o status mais alto encontrado na seguinte ordem:

6 = Falhou
5 = Tentar novamente
2 = Interrompido
4 = Inativo
3 = Em curso
1 = Iniciado
warning Int Aviso de limite máximo gerado por uma assinatura pertencente à publicação, que pode ser o resultado lógico OU de um ou mais desses valores.

1 = expiration - Uma assinatura de uma publicação transacional não foi sincronizada dentro do limite do período de retenção.
2 = latency - o tempo necessário para replicar dados de um editor transacional para o assinante excede o limite, em segundos.
4 = mergeexpiration - Uma assinatura de uma publicação de mesclagem não foi sincronizada dentro do limite do período de retenção.
8 = mergefastrunduration - o tempo necessário para concluir a sincronização de uma assinatura de mesclagem excede o limite, em segundos, através de uma conexão de rede rápida.
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 de rede lenta.
32 = mergefastrunspeed - A taxa de entrega de linhas durante a sincronização de uma assinatura de mesclagem não conseguiu manter a taxa limite, em linhas por segundo, em uma conexão de rede rápida.
64 = mergeslowrunspeed - A taxa de entrega de linhas durante a sincronização de uma assinatura de mesclagem não conseguiu manter a taxa limite, em linhas por segundo, em uma conexão de rede lenta.
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âneos
2 = Mesclar publicação
subtype Int O tipo de assinatura, que pode ser um dos seguintes valores:

0 = Empurrar
1 = Puxar
2 = Anónimo
latency Int A maior latência, em segundos, para alterações de dados propagadas pelo Leitor de Log ou Agentes de Distribuição para uma publicação transacional.
latencythreshold Int A latência máxima para a publicação transacional, acima da qual um aviso é gerado.
agentnotrunning Int O período de tempo, em horas, durante o qual o agente não executou.
agentnotrunningthreshold Int O período de tempo, em horas, que o agente não executou antes que um aviso seja gerado.
timetoexpiration Int O período de tempo, em horas, antes de a subscrição expirar se não estiver sincronizada.
expirationthreshold Int O tempo, em horas, antes de a assinatura expirar que um aviso é gerado.
last_distsync datetime A data/hora em que o Agente de Distribuição foi executado pela última vez.
distribution_agentname sysname O nome do trabalho do Agente de Distribuição para a assinatura de uma publicação transacional.
mergeagentname sysname O nome do trabalho do Merge Agent para a assinatura de 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 de uma publicação de mesclagem, que pode ser um dos seguintes valores:

1 = rede local (LAN)
2 = conexão de rede dial-up
3 = Sincronização da Web.
mergePerformance Int Desempenho da última sincronização em comparação com todas as sincronizações da assinatura, que se baseia na taxa de entrega da última sincronização dividida pela média de todas as taxas de entrega anteriores.
mergerunspeed flutuar A taxa de entrega da última sincronização para a assinatura.
mergerunduration Int O período 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 pode ser um destes valores:

Para uma publicação transacional:

60 = Erro
56 = Aviso: desempenho crítico
52 = Aviso: expirando em breve ou expirando
50 = Aviso: subscrição não inicializada
40 = Comando com falha ao tentar novamente
30 = Não está a correr (sucesso)
20 = Em execução (iniciando, executando ou ocioso)

Para uma publicação de mesclagem:

60 = Erro
56 = Aviso: desempenho crítico
54 = Aviso: mesclagem de longa duração
52 = Aviso: expira em breve
50 = Aviso: subscrição não inicializada
40 = Comando com falha ao tentar novamente
30 = Em execução (iniciando, executando ou ocioso)
20 = Não está a correr (sucesso)
distributionagentjobid binário(16) ID do trabalho do Agente de Distribuição para assinaturas de uma publicação transacional.
mergeagentjobid binário(16) ID do trabalho do Merge Agent para assinaturas de uma publicação de mesclagem.
distributionagentid Int ID do trabalho do Agente de Distribuição para a assinatura.
distributionagentprofileid Int ID do perfil do agente usado pelo Agente de Distribuição.
mergeagentid Int ID do trabalho do Merge Agent para a assinatura.
mergeagentprofileid Int ID do perfil do agente usado pelo Merge Agent.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Observações

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

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

Permissões

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