MSSQL_ENG020598
Detalhes da mensagem
Nome do produto |
SQL Server |
Versão do produto |
10.0 |
Número da compilação do produto |
|
ID do evento |
20598 |
Origem do evento |
MSSQLSERVER |
Componente |
Mecanismo de Banco de Dados do SQL Server |
Nome simbólico |
|
Texto da mensagem |
A linha não foi encontrada no Assinante ao aplicar o comando replicado. |
Explicação
Esse erro ocorre na replicação de transação quando o Distribution Agent tenta atualizar uma linha no Assinante, mas a linha foi excluída ou a chave primária da linha foi alterada. Por padrão, os Assinantes de publicações transacionais devem ser tratados como somente leitura, porque as alterações não são propagadas de volta ao Publicador. Para a replicação de transação, as alterações do usuário devem ser realizadas no Assinante somente se forem usadas assinaturas que podem ser atualizadas ou replicação ponto a ponto (P2P). Para obter mais informações sobre essas opções, consulte Assinaturas atualizáveis para replicação de transação e Replicação de transação ponto a ponto.
Ação do usuário
Para resolver esse problema:
Se for necessário que a replicação prossiga enquanto você identifica a origem do erro, especifique o parâmetro -SkipErrors 20598 para o Distribution Agent. Isso permite que o agente ignore alterações que resultem no erro 20598, enquanto permite que outras alterações sejam replicadas. Para obter mais informações, consulte Ignorando erros na replicação transacional.
Identifique quais linhas no Assinante foram excluídas ou possuem uma chave primária diferente daquela das linhas correspondentes no Publicador. É possível usar o Utilitário tablediff para determinar quais linhas são diferentes nos bancos de dados de publicação e de assinatura. Para obter mais informações sobre como usar esse utilitário com bancos de dados replicados, consulte Como comparar tabelas replicadas para descobrir diferenças (Programação de Replicação).
Corrija as linhas no Assinante usando o utilitário tablediff ou qualquer outro método.
(Opcional) Remova o parâmetro - SkipErrors.
Consulte também