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.
O Replication Monitor é uma ferramenta gráfica que permite monitorar uma topologia de replicação. Você pode acessar os mesmos dados de monitoramento programaticamente usando procedimentos armazenados de replicação Transact-SQL ou objetos de gerenciamento de replicação (RMO). Esses objetos permitem que você programe as seguintes tarefas:
Monitore o estado de Editores, publicações e assinaturas.
Monitore as sessões do Merge Agent em um ou mais Assinantes.
Monitore comandos transacionais aguardando a serem aplicados em um ou mais Assinantes.
Defina as métricas de limite que determinam quando uma publicação requer intervenção.
Monitore o status dos tokens de rastreamento.
Neste tópico:
RMO (Replication Management Objects)
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 Publicados usando 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 usando este Distribuidor. Para limitar o conjunto de resultados a um único Publicador, publicação ou banco de dados publicado, especifique @publisher, @publication ou @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 usando este Distribuidor. Para limitar o conjunto de resultados a assinaturas pertencentes a um único Publicador, publicação ou banco de dados publicado, especifique @publisher, @publication ou @publisher_db, respectivamente.
Para monitorar comandos transacionais aguardando a aplicação no Assinante
- No Distribuidor no banco de dados de distribuição, execute sp_replmonitorsubscriptionpendingcmds. Isso retorna informações de monitoramento para todos os comandos pendentes para todas as assinaturas que usam esse Distribuidor. Para limitar o conjunto de resultados a comandos pendentes para assinaturas pertencentes a um único Publicador, Assinante, publicação ou banco de dados publicado, especifique @publisher, @subscriber, @publication ou @publisher_db, respectivamente.
Para monitorar alterações de mesclagem esperando para serem carregadas ou baixadas
No Publicador do banco de dados de publicação, execute sp_showpendingchanges. Isso retorna um conjunto de resultados mostrando informações sobre alterações que estão aguardando para serem replicadas para Assinantes. Para limitar o conjunto de resultados a alterações que pertencem a uma única publicação ou artigo, especifique @publication ou @article, respectivamente.
Em um Assinante no banco de dados de assinatura, execute sp_showpendingchanges. Isso retorna um conjunto de resultados mostrando informações sobre alterações que estão aguardando para serem replicadas no Publicador. Para limitar o conjunto de resultados a alterações que pertencem a uma única publicação ou artigo, especifique @publication ou @article, respectivamente.
Para monitorar sessões do Merge Agent
No Distribuidor no banco de dados de distribuição, execute sp_replmonitorhelpmergesession. Isso retorna informações de monitoramento, incluindo Session_id, em todas as sessões do Merge Agent para todas as assinaturas que usam esse Distribuidor. Você também pode obter Session_id consultando a tabela do sistema MSmerge_sessions .
No Distribuidor no banco de dados de distribuição, execute sp_replmonitorhelpmergesessiondetail. Especifique um valor Session_id da etapa 1 para @session_id. Isso exibe informações detalhadas do monitor sobre a sessão.
Repita a etapa 2 para cada sessão de interesse.
Para monitorar sessões do Merge Agent para assinaturas por solicitação do Assinante
No banco de dados da assinatura, execute sp_replmonitorhelpmergesession. Para uma determinada assinatura, especifique @publisher, @publication e o nome do banco de dados de publicação para @publisher_db. Isso retorna informações de monitoramento para as últimas cinco sessões do Merge Agent para esta assinatura. Observe o valor de Session_id para sessões de interesse no conjunto de resultados.
No assinante no banco de dados de subscrição, execute sp_replmonitorhelpmergesessiondetail. Especifique um valor Session_id da etapa 1 para @session_id. Isso exibe informações detalhadas de monitoramento 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 para monitorar limites a publicações pertencentes a um único Publicador ou banco de dados publicado ou a uma única publicação, especifique @publisher, @publisher_db ou @publication, respectivamente. Observe o valor de Metric_id para quaisquer limites que devem ser alterados. Para obter mais informações, consulte Definir limites e avisos no Replication Monitor.
No Distribuidor no banco de dados de distribuição, execute sp_replmonitorchangepublicationthreshold. Especifique o seguinte, conforme necessário:
O valor Metric_id obtido na etapa 1 para @metric_id.
Um novo valor 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 um alerta não for necessário.
Um valor de 1 para @mode para habilitar a métrica de limite do monitor ou um valor de 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 ServerConnection classe.
Crie uma instância da classe MergeSubscriberMonitor e defina as propriedades Publisher, Publication, PublisherDB, SubscriberDB para a assinatura, e defina a propriedade ConnectionContext como a ServerConnection criada na etapa 1.
Chame um dos seguintes métodos para retornar informações sobre sessões do Merge Agent para esta assinatura:
GetSessionsSummary – retorna uma matriz de MergeSessionSummary objetos com informações sobre até as últimas cinco sessões do Merge Agent. Observe o SessionId valor para as sessões de interesse.
GetSessionsSummary – retorna uma matriz de MergeSessionSummary objetos com informações sobre sessões do Merge Agent que ocorreram durante o último número de horas passadas como o parâmetro de horas (até as últimas cinco sessões). Observe o valor SessionId de quaisquer sessões de interesse.
GetLastSessionSummary – retorna um MergeSessionSummary objeto com informações sobre a última sessão do Merge Agent. Observe o SessionId valor desta sessão.
GetSessionsSummaryDataSet – retorna um DataSet objeto com informações sobre até as últimas cinco sessões do Merge Agent, uma em cada linha. Observe o valor da coluna Session_id para quaisquer sessões de interesse.
GetLastSessionSummaryDataRow – retorna um DataRow objeto com informações sobre a última sessão do Merge Agent. Observe o valor da coluna Session_id desta sessão.
(Opcional) Chame RefreshSessionSummary para atualizar os dados do MergeSessionSummary objeto passado como mss ou chame RefreshSessionSummary para atualizar os dados no DataRow objeto passados como drRefresh.
Usando a ID de sessão obtida na etapa 3, chame um dos seguintes métodos para retornar informações sobre os detalhes de uma sessão específica:
GetSessionDetails – retorna uma matriz de MergeSessionDetail objetos para a sessionID fornecida.
GetSessionDetailsDataSet – retorna um DataSet objeto com informações para a sessionID especificada.
Para monitorar as propriedades de replicação das 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 ConnectionContext propriedade como a ServerConnection criada na etapa 1.
Chame o método LoadProperties para obter as propriedades do objeto.
Execute um ou mais dos métodos a seguir para retornar informações de replicação para todos os Publicadores que usam esse Distribuidor.
EnumDistributionAgents – retorna um DataSet objeto que contém informações sobre todos os Agentes de Distribuição neste Distribuidor.
EnumErrorRecords – retorna um DataSet objeto que contém informações sobre erros armazenados no Distribuidor.
EnumLogReaderAgents – retorna um DataSet objeto que contém informações sobre todos os Agentes Leitores 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 DataSet objeto 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 Publicadores deste Distribuidor.
EnumPublishers2 – retorna um DataSet objeto que retorna os publicadores que utilizam este distribuidor.
EnumQueueReaderAgents – retorna um DataSet objeto que contém informações sobre todos os Agentes de Leitor de Fila no Distribuidor.
EnumQueueReaderAgentSessionDetails – retorna um DataSet objeto que contém detalhes sobre o Agente de Leitor de Fila e a sessão especificados.
EnumQueueReaderAgentSessions – retorna um DataSet objeto que contém informações de sessão sobre o Agente de Leitor de Fila especificado.
EnumSnapshotAgents – retorna um DataSet objeto que contém informações sobre todos os Agentes de Instantâneo no Distribuidor.
Para monitorar as propriedades de publicação de um Publicador específico em um Distribuidor
Crie uma conexão com o Distribuidor usando a classe ServerConnection .
Obtenha um PublisherMonitor objeto de uma das seguintes maneiras.
Criar uma instância da classe PublisherMonitor. Defina a propriedade Name para o Publicador e defina a propriedade ConnectionContext como a 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 foi definido incorretamente ou a publicação não existe.Do PublisherMonitorCollection acessado por meio da propriedade PublisherMonitors de um ReplicationMonitor objeto existente.
Execute um ou mais dos métodos a seguir para retornar informações de replicação para todas as publicações que pertencem a este Publicador.
EnumDistributionAgentSessionDetails – retorna um DataSet objeto que contém detalhes sobre o Agente de Distribuição e a sessão especificados.
EnumDistributionAgentSessions – retorna um DataSet objeto que contém informações de sessão sobre o Agente de Distribuição especificado.
EnumErrorRecords – retorna um DataSet objeto que contém informações de registro de erro sobre o erro especificado.
EnumLogReaderAgentSessionDetails – retorna um DataSet objeto que contém detalhes para o Agente de Leitor de Log e a sessão especificados.
EnumLogReaderAgentSessions – retorna um DataSet objeto que contém informações de sessão para o Agente de Leitor de Log especificado.
EnumMergeAgentSessionDetails – retorna um DataSet objeto que contém detalhes sobre o Merge Agent e a sessão especificados.
EnumMergeAgentSessionDetails2 – retorna um DataSet objeto que contém detalhes adicionais sobre o Merge Agent e a sessão especificados.
EnumMergeAgentSessions – retorna um DataSet objeto que contém informações de sessão para o Merge Agent especificado.
EnumMergeAgentSessions2 – retorna um DataSet objeto que contém informações de sessão adicionais para o Agente de Mesclagem especificado.
EnumPublications – retorna um DataSet objeto que contém informações sobre todas as publicações neste Distribuidor.
EnumPublications2 – retorna um DataSet objeto que contém informações adicionais sobre todas as publicações neste Distribuidor.
EnumSnapshotAgentSessionDetails – retorna um DataSet objeto que contém detalhes sobre o Snapshot Agent e a sessão especificados.
EnumSnapshotAgentSessions – retorna um DataSet objeto que contém informações de sessão para o Agente de Instantâneo especificado.
EnumSubscriptions – retorna um DataSet objeto que contém informações sobre todas as assinaturas para publicações neste Distribuidor.
Para monitorar propriedades de uma publicação específica no Distribuidor
Crie uma conexão com o Distribuidor usando a classe ServerConnection .
Obtenha um PublicationMonitor objeto de uma destas maneiras.
Criar uma instância da classe PublicationMonitor. Defina as propriedades DistributionDBName, PublisherName, PublicationDBName e Name da publicação, e defina a propriedade ConnectionContext como a ServerConnection criada na etapa 1. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar
false, as propriedades da publicação foram definidas incorretamente ou a publicação não existe.De PublicationMonitorCollection acessado por meio da propriedade PublicationMonitors de um objeto existente PublisherMonitor.
Execute um ou mais dos métodos a seguir para retornar informações sobre esta publicação.
EnumErrorRecords – retorna um DataSet objeto que contém registros de erro sobre o erro especificado.
EnumLogReaderAgent – retorna um DataSet objeto que contém informações sobre o agente de leitura de logs para esta publicação.
EnumMonitorThresholds – retorna um DataSet objeto que contém informações sobre os limites de aviso do monitor definidos para esta publicação.
EnumQueueReaderAgent – retorna um DataSet objeto que contém informações sobre o Queue Reader Agent usado por esta publicação.
EnumSnapshotAgent – retorna um DataSet objeto que contém informações sobre o Snapshot Agent para esta publicação.
EnumSubscriptions – retorna um DataSet objeto que contém informações sobre assinaturas para esta publicação.
EnumSubscriptions2 - retorna um DataSet objeto que contém informações adicionais sobre assinaturas para esta publicação com base no fornecido SubscriptionResultOption.
EnumTracerTokenHistory – retorna um DataSet objeto que contém informações de latência para o token de rastreamento especificado.
EnumTracerTokens – retorna um DataSet objeto que contém informações sobre todos os tokens de rastreamento inseridos nesta publicação.
Para monitorar comandos transacionais que estão aguardando a aplicação no Assinante
Crie uma conexão com o Distribuidor usando a classe ServerConnection .
Obtenha um objeto de uma destas maneiras PublicationMonitor.
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 a ServerConnection criada na etapa 1. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar
false, as propriedades da publicação foram definidas incorretamente ou a publicação não existe.O PublicationMonitorCollection acessado por meio da propriedade PublicationMonitors de um objeto PublisherMonitor existente.
Execute o TransPendingCommandInfo método, que retorna um PendingCommandInfo objeto.
Use as propriedades desse PendingCommandInfo objeto para determinar o número estimado de comandos pendentes e o tempo necessário para concluir a entrega desses comandos.
Para definir os limites de aviso do monitor para uma publicação
Crie uma conexão com o Distribuidor usando a classe ServerConnection .
Obtenha um objeto PublicationMonitor destas maneiras.
Criar uma instância da classe PublicationMonitor. Defina as propriedades DistributionDBName, PublisherName, PublicationDBName e Name da publicação e defina a propriedade ConnectionContext como a ServerConnection criada na etapa 1. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar
false, as propriedades da publicação foram definidas incorretamente ou a publicação não existe.PublicationMonitorCollection acessado por meio da propriedade PublicationMonitors de um objeto existente PublisherMonitor.
Execute o método EnumMonitorThresholds. Consulte as configurações de limite atuais no ArrayList retornado dos objetos MonitorThreshold.
Execute o método ChangeMonitorThreshold. Passe os seguintes parâmetros:
metricID - um Int32 valor que representa a métrica de limite de monitoramento 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 em publicações transacionais.4 mergeexpiration– monitora a expiração iminente de assinaturas para mesclar publicações.5 mergeslowrunduration– monitora a duração das sincronizações de mesclagem em conexões de baixa capacidade de banda discada.6 mergefastrunduration– monitora a duração das sincronizações de mesclagem em conexões LAN (alta largura de banda).7 mergefastrunspeed– monitora a taxa de sincronização de sincronizações de mesclagem em conexões LAN (alta largura de banda).8 mergeslowrunspeed– monitora a taxa de sincronização de sincronizações de mesclagem em conexões de baixa largura de banda (discagem).ativar - Boolean que indica se a métrica está ativada para a publicação.
thresholdValue - valor inteiro que define o limite.
shouldAlert - inteiro que indica se esse limite deve gerar um alerta.