Compartir a través de


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:

  1. 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.

  2. 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).

  3. Corrija las filas del suscriptor con la utilidad tablediff u otro método.

  4. (Opcional) Quite el parámetro -SkipErrors.