sp_replmonitorhelpsubscription (Transact-SQL)
Aplica-se a: SQL Server Instâ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.
Convenções de sintaxe de Transact-SQL
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'editor'
O nome do Publicador cujo status está sendo monitorado. @publisher é sysname, com um padrão de NULL
. Se for nulo, as informações serão retornadas para todos os Publicadores 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 Publicador.
@publication [ = ] N'publicação'
O nome da publicação que está sendo monitorada. @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âneo. |
2 |
Publicação de mesclagem. |
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) |
Retorna todas as assinaturas. |
1 |
Retorna somente assinaturas com erros. |
2 |
Retorna apenas assinaturas que geram avisos de métrica de limite. |
3 |
Retorna apenas assinaturas que têm erros ou geram 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 apenas assinaturas que não estão sendo sincronizadas no momento. |
@topnum [ = ] topnum
Restringe o conjunto de resultados a apenas o número especificado de assinaturas no topo 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 de
1
significa que as assinaturas 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 há suporte. A compatibilidade futura não está garantida.
Conjunto 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 = Falha5 = Repetindo2 = Parado4 = Ocioso3 = Em andamento1 = 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 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 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.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. |
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 ter um destes valores:0 = Publicação transacional1 = Publicação de instantâneo2 = Mesclar publicação |
subtype |
int | O tipo de assinatura, que pode ser um dos seguintes valores:0 = Empurrar1 = Puxar2 = 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 um aviso é gerado. |
agentnotrunning |
int | O período de tempo, em horas, durante o qual o agente não foi executado. |
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 que a assinatura expire se não for sincronizada. |
expirationthreshold |
int | O tempo, em horas, antes da expiração da assinatura em que um aviso é gerado. |
last_distsync |
datetime | A data e 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 a uma publicação de mesclagem, que pode ser um dos seguintes valores:1 = rede local (LAN)2 = conexão de rede dial-up3 = 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 | 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 = Erro56 = Aviso: desempenho crítico52 = Aviso: expirando em breve ou expirado50 = Aviso: assinatura não inicializada40 = Repetindo o comando com falha30 = Não está em execução (sucesso)20 = Em execução (iniciando, em execução ou ocioso)Para uma publicação de mesclagem: 60 = Erro56 = Aviso: desempenho crítico54 = Aviso: mesclagem de longa duração52 = Aviso: expirando em breve50 = Aviso: assinatura não inicializada40 = Repetindo o comando com falha30 = Em execução (iniciando, em execução ou ocioso)20 = Não está em execução (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 do código de retorno
0
(sucesso) 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 é determinada pelo valor de 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 replmonitorar no banco de dados de distribuição podem executar sp_replmonitorhelpsubscription
.