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.
Convenções da 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 do qual o status está sendo monitorado. publisher é sysname, com um valor padrão de 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 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 é sysname, com um valor padrão de NULL.[ @publication_type = ] publication_type
Se o tipo de publicação. publication_type é int e pode ter 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 ter um destes valores.Value
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 os piores desempenhos.
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 no topo dos dados retornados. topnum é int, sem padrão.[ @exclude_anonymous = ] exclude_anonymous
Especifica se assinaturas pull anônimas serão 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 serão excluídas, e um valor de 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 |
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 = Tentando novamente 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 = 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 de rede lenta ou discada. 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, em linhas por segundo, em uma conexão de rede lenta ou discada. |
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 ter um dos seguintes valores: 0 = Push 1 = Pull 2 = Anônimo |
latência |
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 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 logo ou expirado 50 = Aviso: assinatura não inicializada 40 = Tentando novamente comando com falha 30 = Não está em execução (êxito) 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 execução longa 52 = Aviso: expirando em breve 50 = Aviso: assinatura não inicializada 40 = Tentando novamente comando com falha 30 = Em execução (iniciando, executando ou ocioso) 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 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.