Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Instância Gerenciada de SQL do Azure
O Replication Monitor é uma ferramenta gráfica que permite monitorar uma topologia de replicação. É possível acessar os mesmos dados de monitoramento programaticamente usando procedimentos armazenados de replicação do Transact-SQL ou objetos de gerenciamento de replicação (RMO). Esses objetos permitem programar as seguintes tarefas:
Monitore o estado de Editores, publicações e assinaturas.
Monitorar sessões do Agente de Mesclagem em um ou mais Assinantes.
Monitorar os comandos transacionais pendentes de aplicação em um ou mais Assinantes.
Definir os limites métricos que determinam quando uma publicação requer intervenção.
Monitore o status dos tokens de rastreamento.
Transact-SQL
Para monitorar Publicadores, publicações e assinaturas do Distribuidor
No Distribuidor, no banco de dados de distribuição, execute sp_replmonitorhelppublisher. Isso retorna informações de monitoramento para todos os Publicadores que usam este Distribuidor. Para limitar o conjunto de resultados a um único Publicador, especifique @publisher.
No Distribuidor, no banco de dados de distribuição, execute sp_replmonitorhelppublication. Isso retorna informações de monitoramento para todas as publicações que usam este Distribuidor. Para limitar o conjunto de resultados a um único Publicador, publicação ou banco de dados publicado, especifique @publisher, @publicationou @publisher_db, respectivamente.
No Distribuidor, no banco de dados de distribuição, execute sp_replmonitorhelpsubscription. Isso retorna informações de monitoramento para todas as assinaturas que usam este Distribuidor. Para limitar o conjunto de resultados às assinaturas pertencentes a um único Publicador, publicação ou banco de dados publicado, especifique @publisher, @publicationou @publisher_db, respectivamente.
Para monitorar os comandos transacionais que estão aguardando aplicação no Assinante.
- No Distribuidor, no banco de dados de distribuição, execute sp_replmonitorsubscriptionpendingcmds. Isso retorna informações de monitoramento sobre todos os comandos pendentes de todas as assinaturas que usam este Distribuidor. Para limitar o conjunto de resultados aos comandos pendentes das assinaturas pertencentes a um único Publicador, publicação ou banco de dados publicado, especifique @publisher, @subscriber, @publicationou @publisher_db, respectivamente.
Para monitorar as alterações de mesclagem que estão à espera de ser enviadas ou baixadas
No Publicador, no banco de dados de publicação, execute sp_showpendingchanges. Isso retorna um conjunto de resultados que mostra informações sobre as alterações que aguardam replicação para os Assinantes. Para limitar o conjunto de resultados às alterações que pertencem a uma única publicação ou artigo, especifique @publication ou @article, respectivamente.
No Assinante, no banco de dados de assinatura, execute sp_showpendingchanges. Isso retorna um conjunto de resultados que mostra informações sobre as alterações que estão aguardando replicação para o Publicador. Para limitar o conjunto de resultados às alterações que pertencem a uma única publicação ou artigo, especifique @publication ou @article, respectivamente.
Para monitorar sessões do Agente de Mesclagem
No Distribuidor, no banco de dados de distribuição, execute sp_replmonitorhelpmergesession. Isso retornará informações de monitoração, inclusive Session_id, em todas as sessões do Agente de Mesclagem de todas as assinaturas que usam esse Distribuidor. Você também pode obter o Session_id consultando a tabela do sistema MSmerge_sessions .
No Distribuidor, no banco de dados de distribuição, execute sp_replmonitorhelpmergesessiondetail. Especifique um valor de Session_id da etapa 1 para @session_id. Isso exibirá informações de monitoramento detalhadas sobre a sessão.
Repita a etapa 2 para cada sessão de interesse.
Para monitorar as sessões do Agente de Mesclagem para assinaturas pull a partir do Assinante
No Assinante, no banco de dados da assinatura, execute sp_replmonitorhelpmergesession. Para uma assinatura determinada, especifique @publisher, @publicatione o nome do banco de dados de publicação para @publisher_db. Isso retornará informações de monitoração das últimas cinco sessões do Agente de Mesclagem para essa assinatura. Anote o valor de Session_id das sessões de interesse no conjunto de resultados.
No Assinante, no banco de dados de assinatura, execute sp_replmonitorhelpmergesessiondetail. Especifique um valor de Session_id da etapa 1 para @session_id. Isso exibirá informações de monitoramento detalhadas sobre a sessão.
Repita a etapa 2 para cada sessão de interesse.
Para exibir e modificar as métricas de limite do monitor para uma publicação
No Distribuidor, no banco de dados de distribuição, execute sp_replmonitorhelppublicationthresholds. Isso retorna os limites de monitoramento definidos para todas as publicações que usam este Distribuidor. Para limitar o conjunto de resultados e monitorar os limites das publicações pertencentes a um único Publicador, a um banco de dados publicado ou a uma única publicação, especifique @publisher, @publisher_dbou @publication, respectivamente. Observe o valor de Metric_id para qualquer limite que deva ser alterado. Para obter mais informações, consulte Definir limites e avisos no Monitor de Replicação.
No Distribuidor, no banco de dados de distribuição, execute sp_replmonitorchangepublicationthreshold. Especifique o seguinte, quando necessário:
O valor Metric_id obtido na etapa 1 para @metric_id.
Um valor novo para a métrica de limite do monitor para @value.
Um valor de 1 para @shouldalert, para que um alerta seja registrado quando esse limite for atingido, ou um valor de 0 se não for necessário emitir um alerta.
Um valor 1 para @mode , para habilitar a métrica de limite do monitor, ou um valor 2 para desabilitá-la.
Objetos de Gerenciamento de Replicação (RMO)
Para monitorar uma assinatura para uma publicação de mesclagem no Assinante
Crie uma conexão com o Assinante usando a classe ServerConnection .
Crie uma instância da classe MergeSubscriberMonitor e defina as propriedades Publisher, Publication, PublisherDB, SubscriberDB para a assinatura, e defina a propriedade ConnectionContext como ServerConnection criado na etapa 1.
Chame um dos métodos seguintes para retornar informações sobre as sessões do Agente de Mesclagem para essa assinatura:
GetSessionsSummary - retorna uma matriz de objetos MergeSessionSummary com informações até as últimas cinco sessões do Agente de Mesclagem. Observe o valor SessionId para qualquer sessão do seu interesse.
GetSessionsSummary - retorna uma matriz de objetos MergeSessionSummary com informações das sessões do Agente de Mesclagem que ocorreram durante o número de horas passadas no parâmetro hours (até as últimas cinco sessões). Observe o valor SessionId para qualquer sessão do seu interesse.
GetLastSessionSummary - retorna um objeto MergeSessionSummary com informações sobre a última sessão do Agente de Mesclagem. Observe o valor de SessionId para esta sessão.
GetSessionsSummaryDataSet - retorna um objeto DataSet com informações sobre até as últimas cinco sessões do Agente de Mesclagem, uma em cada linha. Observe o valor da coluna Session_id para qualquer sessão do seu interesse.
GetLastSessionSummaryDataRow - retorna um objeto DataRow com informações sobre a última sessão do Agente de Mesclagem. Observe o valor da coluna Session_id para essa sessão.
(Opcional) Chame o RefreshSessionSummary para atualizar os dados para o objeto MergeSessionSummary passado como mss, ou chame RefreshSessionSummary para atualizar os dados no objeto DataRow passado como drRefresh.
Usando a id de sessão obtida na etapa 3, chame um dos métodos seguintes para retornar informações sobre os detalhes de uma sessão em particular:
GetSessionDetails - retorna um array de objetos MergeSessionDetail para o SessionId fornecido.
GetSessionDetailsDataSet - retorna um objeto DataSet com informações sobre a SessionId especificada.
Para monitorar as propriedades de replicação de todas as publicações em um Distribuidor
Crie uma conexão com o Distribuidor usando a classe ServerConnection .
Criar uma instância da classe ReplicationMonitor.
Defina a propriedade ConnectionContext como ServerConnection criada na etapa 1.
Chame o método LoadProperties para obter as propriedades do objeto.
Execute um ou mais dos métodos seguintes para retornar informações de replicação para todos os Publicador que usam esse Distribuidor.
EnumDistributionAgents - retorna um objeto DataSet que contém informações sobre todos os Agentes de Distribuição neste Distribuidor.
EnumErrorRecords - retorna um objeto DataSet que contém informações sobre os erros armazenados no Distribuidor.
EnumLogReaderAgents - retorna um objeto DataSet contendo informações sobre todos os Agentes do Leitor de Log no Distribuidor.
EnumMergeAgents - retorna um objeto DataSet que contém informações sobre todos os Agentes de Mesclagem no distribuidor.
EnumMiscellaneousAgents - retorna um objeto DataSet que contém informações sobre todos os outros agentes de replicação no Distribuidor.
EnumPublishers - retorna um objeto DataSet que contém informações sobre todos os Editores neste Distribuidor.
EnumPublishers2 - retorna um objeto DataSet que retorna os Publicadores que usam esse Distribuidor.
EnumQueueReaderAgents - retorna um objeto DataSet que contém informações sobre todos os agentes leitores de fila no distribuidor.
EnumQueueReaderAgentSessionDetails - retorna um objeto DataSet que contém detalhes sobre o Queue Reader Agent e a sessão especificados.
EnumQueueReaderAgentSessions - retorna um objeto DataSet que contém informações de sessão sobre o Queue Reader Agent especificado.
EnumSnapshotAgents - retorna um objeto DataSet que contém informações sobre todos os Snapshot Agents no Distribuidor.
Para monitorar as propriedades da publicação de um Publicador específico no Distribuidor
Crie uma conexão com o Distribuidor usando a classe ServerConnection .
Consiga um objeto PublisherMonitor em um desses modos.
Criar uma instância da classe PublisherMonitor. Defina a propriedade Name para o Publicador e defina a propriedade ConnectionContext como ServerConnection criada na etapa 1. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, o nome do Publicador estava definido incorretamente ou a publicação não existe.
A partir do PublisherMonitorCollection acessado por meio da propriedade PublisherMonitors de um objeto ReplicationMonitor existente.
Execute um ou mais dos métodos a seguir para retornar informações de replicação para todas as publicações que pertençam a esse Publicador.
EnumDistributionAgentSessionDetails - retorna um objeto DataSet que contém detalhes sobre o Agente de Distribuição e a sessão especificados.
EnumDistributionAgentSessions - retorna um objeto DataSet que contém informação da sessão sobre o Agente de Distribuição especificado.
EnumErrorRecords - retorna um objeto DataSet que contém informações de registro de erros sobre o erro especificado.
EnumLogReaderAgentSessionDetails - retorna um objeto DataSet que contém detalhes sobre o Log Reader Agent e a sessão especificados.
EnumLogReaderAgentSessions - retorna um objeto DataSet que contém informações de sessão sobre o Log Reader Agent especificado.
EnumMergeAgentSessionDetails - retorna um objeto DataSet que contém detalhes sobre o Agente de Mesclagem e a sessão especificados.
EnumMergeAgentSessionDetails2 - retorna um objeto DataSet que contém detalhes adicionais sobre o Agente de Mesclagem e a sessão especificados.
EnumMergeAgentSessions - retorna um objeto DataSet que contém informação da sessão para o Agente de Mesclagem especificado.
EnumMergeAgentSessions2 - retorna um objeto DataSet que contém informações de sessão adicional para o Agente de Mesclagem especificado.
EnumPublications - retorna um objeto DataSet que contém informações sobre todas as publicações nesse Distribuidor.
EnumPublications2 - retorna um objeto DataSet que contém informações adicionais sobre todas as publicações nesse Distribuidor.
EnumSnapshotAgentSessionDetails - retorna um objeto DataSet que contém detalhes sobre o Agente de Instantâneo e a sessão especificados.
EnumSnapshotAgentSessions - retorna um objeto DataSet que contém informação da sessão para o Agente de Instantâneo especificado.
EnumSubscriptions - retorna um objeto DataSet que contém informações sobre todas as assinaturas para publicações nesse Distribuidor.
Para monitorar as propriedades de uma publicação específica no Distribuidor
Crie uma conexão com o Distribuidor usando a classe ServerConnection .
Consiga um objeto PublicationMonitor em um desses modos.
Criar uma instância da classe PublicationMonitor. Defina as propriedades DistributionDBName, PublisherName, PublicationDBName e Name para a publicação e defina a propriedade ConnectionContext para o ServerConnection criado na etapa 1. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades de publicação foram definidas incorretamente ou a publicação não existe.
A partir de PublicationMonitorCollection, acessado por meio da propriedade PublicationMonitors de um objeto PublisherMonitor existente.
Execute um ou mais dos métodos seguintes para retornar informações sobre essa publicação.
EnumErrorRecords - retorna um objeto DataSet que contém registros de erro sobre o erro especificado.
EnumLogReaderAgent - retorna um objeto DataSet que contém informações sobre o Log Reader Agent para essa publicação.
EnumMonitorThresholds - retorna um objeto DataSet que contém informações sobre os limiares de aviso de monitoramento definidos para esta publicação.
EnumQueueReaderAgent - retorna um objeto DataSet que contém informações sobre o Queue Reader Agent usado por essa publicação.
EnumSnapshotAgent - retorna um objeto DataSet que contém informações sobre o Agente de Instantâneo para essa publicação.
EnumSubscriptions - retorna um objeto DataSet que contém informações sobre assinaturas para essa publicação.
EnumSubscriptions2 - retorna um objeto DataSet que contém informações adicionais sobre assinaturas para essa publicação com base no SubscriptionResultOptionfornecido.
EnumTracerTokenHistory - retorna um objeto DataSet que contém informações de latência para o token de rastreamento especificado.
EnumTracerTokens - retorna um objeto DataSet que contém informações sobre todos os tokens de rastreamento inseridos nessa publicação.
Para monitorar os comandos transacionais que estão aguardando ser aplicados no Assinante.
Crie uma conexão com o Distribuidor usando a classe ServerConnection .
Consiga um objeto PublicationMonitor em um desses modos.
Criar uma instância da classe PublicationMonitor. Defina as propriedades DistributionDBName, PublisherName, PublicationDBName e Name para a publicação e defina a propriedade ConnectionContext como o ServerConnection criado na etapa 1. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades de publicação foram definidas incorretamente ou a publicação não existe.
A partir do PublicationMonitorCollection acessado por meio da propriedade PublicationMonitors de um objeto PublisherMonitor existente.
Execute o método TransPendingCommandInfo que retorna um objeto PendingCommandInfo .
Use as propriedades desse objeto PendingCommandInfo para determinar o número estimado de comandos pendentes e o tempo que levará para completar a entrega desses comandos.
Para definir os limites de aviso de monitoração para uma publicação
Crie uma conexão com o Distribuidor usando a classe ServerConnection .
Consiga um objeto PublicationMonitor em um desses modos.
Criar uma instância da classe PublicationMonitor. Defina as propriedades DistributionDBName, PublisherName, PublicationDBName e Name para a publicação e defina a propriedade ConnectionContext como o ServerConnection criado na etapa 1. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades de publicação foram definidas incorretamente ou a publicação não existe.
A partir do PublicationMonitorCollection acessado por meio da propriedade PublicationMonitors de um objeto PublisherMonitor existente.
Execute o método EnumMonitorThresholds . Observe as configurações de limite atuais no ArrayList retornado dos objetos MonitorThreshold.
Execute o método ChangeMonitorThreshold . Passe os seguintes parâmetros:
metricID - um valor Int32 que representa a métrica de limite de monitoração da tabela a seguir:
Valor Descrição 1 expiration - monitora a expiração iminente de assinaturas para publicações transacionais. 2 latency - monitora o desempenho de assinaturas para publicações transacionais. 4 mergeexpiration - monitora a expiração iminente de assinaturas para publicações de mesclagem. 5 mergeslowrunduration - monitora a duração das sincronizações de mesclagem em conexões de baixa largura de banda (discadas). 6 mergefastrunduration - monitora a duração de sincronizações de mesclagem em conexões LAN de alta largura de banda. 7 mergefastrunspeed - monitora a taxa de sincronização das sincronizações de mesclagem em conexões (LAN) de alta largura de banda. 8 mergeslowrunspeed - monitora a taxa de sincronização das sincronizações de mesclagem em conexões discadas de baixa largura de banda. enable - Boolean valor que indica se a métrica está habilitada para publicação.
thresholdValue - valor inteiro que define o limite.
shouldAlert - inteiro que indica se esse limite deve gerar um alerta.