MSSQL_ENG020554
Detalhes da mensagem
Nome do produto |
SQL Server |
Versão do produto |
10.0 |
Número da compilação do produto |
|
ID do evento |
20554 |
Origem do evento |
MSSQLSERVER |
Componente |
Mecanismo de Banco de Dados do SQL Server |
Nome simbólico |
|
Texto da mensagem |
O agente de replicação não registrou uma mensagem de progresso em %ld minutos. Isso pode indicar inoperância do agente ou alta atividade do sistema. Verifique se os registros estão sendo replicados no destino e se as conexões com o Assinante, o Publicador e o Distribuidor ainda estão ativas. |
Explicação
O trabalho de verificação dos agentes de replicação é executado em um intervalo especificado (10 minutos, por padrão) para verificar o status de cada agente de replicação. Se um agente não tiver registrado nenhuma mensagem de progresso desde a última vez que o trabalho de verificação de agente foi executado, poderá ocorrer o erro MSSQL_ENG020554. É esperado que, pelo menos, o agente registre mensagens de histórico, mesmo se nenhuma outra atividade de replicação esteja acontecendo. Embora o agente de replicação não esteja respondendo conforme esperado, não necessariamente foi interrompido ou falhou (se ocorrer falha no agente, o erro MSSQL_ENG020536 será exibido).
Os seguintes problemas podem causar o erro MSSQL_ENG020554:
O agente está ocupado.
Se o agente estiver muito ocupado para responder quando sondado pelo trabalho de verificação do agente, o trabalho de verificação do agente não poderá reportar se o agente de replicação está ou não em funcionamento. Há várias motivos pelos quais o agente de replicação pode estar ocupado: talvez existam muitos dados sendo replicados ou existam problemas no design ou na configuração do aplicativo, o que resultam em processos com execução de longa duração.
O agente não pode efetuar logon em um dos computadores na topologia.
Todos os agentes têm um parâmetro -LoginTimeOut (definido como 15 segundos, por padrão), que gerencia a duração da tentativa de um agente para efetuar logon em um nó de replicação, como o Merge Agent efetuando logon no Publicador. Se o valor -LoginTimeOut for definido como maior que o intervalo em que o trabalho de verificação do agente de replicação é executado, um problema de logon poderá ser a causa raiz do erro: o erro MSSQL_ENG020554 é gerado antes de o agente poder gerar um erro mais específico.
Ação do usuário
A ação necessária depende da causa do erro:
Para todos os casos nos quais esse erro é gerado:
Verifique os detalhes de erro no Replication Monitor e, depois, reinicie o agente, se ele tiver sido interrompido. Os detalhes de erro podem fornecer informações adicionais sobre o motivo do agente não estar sendo executado corretamente. Se o agente estiver em execução, não interrompa nem reinicie o agente, já que isso pode agravar o problema. Para obter informações sobre como exibir o status do agente e os detalhes de erro no Replication Monitor, consulte os seguintes tópicos:
Para obter mais informações sobre o Snapshot Agent, o Log Reader Agent e o Queue Reader Agent, consulte Como exibir informações e executar tarefas para os agentes associados com uma publicação (Replication Monitor).
Para obter mais informações sobre o Distribution Agent e o Merge Agent, consulte Como exibir informações e executar tarefas para os agentes associados a uma assinatura (Replication Monitor).
Se o erro ocorrer freqüentemente porque o agente está ocupado:
Talvez seja necessário recriar o seu aplicativo de forma que o processamento do agente leve menos tempo. Para obter mais informações, consulte Desempenho (Replicação).
É possível aumentar o intervalo em que o status do agente é verificado usando a caixa de diálogo Propriedades do Trabalho. Para obter mais informações sobre como acessar essa caixa de diálogo de trabalhos de replicação, consulte Como exibir informações e executar tarefas para um Publicador (Replication Monitor).
Se um agente não puder efetuar logon em um dos computadores na topologia:
Recomendamos que o valor -LoginTimeOut seja definido como menor que o intervalo no qual o trabalho de verificação do agente de replicação é executado. Em alguns casos, o valor -LoginTimeOut é definido como maior devido a problemas de rede que fazem com que os logons sejam expirados. Se o valor -LoginTimeOut for definido como menor, a replicação poderá reportar erros mais específicos, permitindo que você solucione problemas de logon que podem ser causados por permissões, problemas de rede ou outros problemas. Os parâmetros de agente podem ser especificados em perfis de agente e na linha de comando. Para obter mais informações, consulte: