MSSQL_ENG020598
Detalles del mensaje
Nombre del producto |
SQL Server |
Versión del producto |
10.0 |
Número de compilación del producto |
|
Id. de evento |
20598 |
Origen del evento |
MSSQLSERVER |
Componente |
SQL Server Database Engine (Motor de base de datos de SQL Server) |
Nombre simbólico |
|
Texto del mensaje |
No se encontró la fila en el suscriptor al aplicar el comando replicado. |
Explicación
Este error se produce en la replicación transaccional si el Agente de distribución intenta actualizar una fila en el suscriptor, pero la fila se ha eliminado o se ha cambiado su clave principal. De forma predeterminada, los suscriptores de publicaciones transaccionales deben tratarse como de sólo lectura, porque los cambios no se propagan de vuelta al publicador. En la replicación transaccional, los cambios de usuario deben realizarse sólo en el suscriptor si se utilizan suscripciones actualizables o replicación del mismo nivel. Para obtener información acerca de estas opciones, vea Suscripciones actualizables para replicación transaccional y Replicación transaccional del mismo nivel.
Acción del usuario
Para resolver este problema:
Si la replicación debe continuar mientras identifica el origen del error, especifique el parámetro -SkipErrors 20598 para el Agente de distribución. Esto permite al agente omitir los cambios que provocan el error 20598, a la vez que permite que se repliquen otros cambios. Para obtener más información, vea Omitir errores en la replicación transaccional.
Identifique qué filas del suscriptor se han eliminado o tienen una clave principal distinta que las filas correspondientes en el publicador. Puede utilizar la tablediff (utilidad) para determinar qué filas de las bases de datos de publicaciones y suscripciones son diferentes. Para obtener información sobre cómo usar esta utilidad con bases de datos replicadas, vea Cómo comparar tablas replicadas para buscar diferencias (programación de la replicación).
Corrija las filas del suscriptor con la utilidad tablediff u otro método.
(Opcional) Quite el parámetro -SkipErrors.
Vea también