sp_replmonitorhelpsubscription (Transact-SQL)

Aplica-se a:yesSQL Server (todas as versões com suporte) YesInstância Gerenciada de SQL do Azure

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.

Topic link iconConvenções de sintaxe do 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 do status do qual está sendo monitorado. publisher é sysname, com um valor padrão de NULL. Se nulas, as informações serão retornadas para todos os Publicados que usam o Distribuidor.

[ @publisher_db = ] 'publisher_db' É o nome do banco de dados publicado. publisher_db é sysname, com um valor padrão de 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 is sysname, with a default value of 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â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. o modo é int e pode ser um desses 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 assinaturas com pior desempenho.
5 Retorna as 50 assinaturas com os piores desempenhos.
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 apenas o número especificado de assinaturas na parte superior dos dados retornados. o número superior é int, sem padrão.

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

[ @refreshpolicy = ] refreshpolicy Somente uso interno.

Conjuntos de resultados

Nome da coluna Tipo de dados Descrição
status int Verifica o status de todos os agentes de replicação associados com a publicação e retorna o status mais alto encontrado na seguinte ordem:

6 = Falha

5 = Repetição

2 = Parado

4 = Ocioso

3 = Em andamento

1 = Iniciado
warning int Aviso de limite máximo gerado por uma assinatura pertencente à publicação, que pode ser o resultado de OR lógico de um ou mais desses valores.

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

2 = latência – o tempo necessário para replicar dados de um Publicador 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, em 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 ou discada.

32 = mergefastrunspeed - a taxa de entrega de linhas durante a sincronização de uma assinatura de mesclagem falhou ao manter a taxa de 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 falhou ao manter a taxa de limite, em linhas por segundo, em uma conexão de rede lenta ou discada.
Assinante 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.
Publicação sysname É o nome de uma publicação.
publication_type int É o tipo de publicação, que pode ser um desses valores:

0 = Publicação transacional

1 = Publicação de instantâneo

2 = Publicação de mesclagem
Subtipo int É o tipo de assinatura, que pode ter um dos seguintes valores:

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 de área local)

2 = conexão de rede discada

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 ter um destes valores:

Para uma publicação transacional:

60 = Erro

56 = Aviso: desempenho crítico

52 = Aviso: expirando em breve ou expirado

50 = Aviso: assinatura não inicializada

40 = Repita o comando com falha

30 = Não está em execução (êxito)

20 = Execução (inicial, em execução ou ociosa)

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 = Repita o comando com falha

30 = Execução (inicial, em execução ou ociosa)

20 = Não está em execução (êxito)
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 do código de retorno

0 (êxito) ou 1 (falha)

Comentários

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 do 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 banco de dados fixa db_owner ou replmonitor no banco de dados de distribuição podem executar sp_replmonitorhelpsubscription.

Consulte Também

Monitorar programaticamente a replicação