En este artículo se describe cómo solucionar el error 20598 "la fila no se encontró en el suscriptor al aplicar el comando duplicado" en la duplicación transaccional.

Cómo solucionar problemas de

Para solucionar este problema, siga estos pasos:

  1. En el monitor de duplicación en el agente de distribución para el suscriptor, extraer el número de secuencia de transacción e identificador que encontró el error del comando:



    Nota: Puede obtener el mismo número de secuencia de transacción desde el servidor del distribuidor mediante la consulta siguiente:

  2. Extraiga los comandos que se asignan al número de secuencia de transacción en el servidor del distribuidor. Utilice el número de secuencia de transacción desde el paso 1 como el parámetro de este comando:

  3. En el resultado del paso 2, identificar el comando que no está utilizando el identificador de comando del paso 1. Consulte la columna command_id del conjunto de resultados.

  4. Validar la información del artículo en el publicador. Utilice el identificador del artículo que obtiene del paso 2 y compruebe los detalles del artículo que está intentando actualizar:

  5. Validar la clave principal en el publicador.

    Tiene dos fragmentos de información: la tabla en la que está intentando realizar la actualización y el valor de clave principal. Puede consultar la tabla con el valor de clave principal y localizar la fila en la base de datos del publicador. Por ejemplo:

    Seleccionar * desde tbl_sample cláusula WHERE column_name = < primary_key_value >

  6. Compruebe el problema en el suscriptor.

    Ejecutar la misma consulta en la base de datos de suscriptor y compararlo con el resultado que reciba de la base de datos del publicador.

Solución alternativa

Para evitar este problema, utilice los dos métodos siguientes:

  • Insertar manualmente la fila que falta en el suscriptor. Esto puede permitir que el agente de distribución Reintentar el comando fallido y avanzar con la replicación.

    Nota: Puede haber otras filas que faltan y que deben insertarse manualmente en el suscriptor si hay más errores.

  • Indicar el agente de distribución para omitir este error y continuar replicar el resto de los cambios. El agente de distribución acepta el parámetro skiperrors . Puede utilizar este parámetro para pasar el código de error 20598. Esto puede mantener la configuración de replicación intacta mientras espera una oportunidad sincronizar manualmente las filas que faltan.

    Nota Es necesario evaluar cuidadosamente los efectos indirectos de la integridad referencial y los desencadenadores que están presentes en la tabla afectada antes de continuar.

Más información

Recopilación de datos para investigar la causa de este problema

Si este problema se produce repetidamente, debe recopilar los siguientes datos para su análisis por el equipo de soporte técnico de Microsoft SQL Server para que pueden intentar identificar la causa del problema:

  • La copia de seguridad de la base de datos de distribución cuando se produce este problema. (Debe ser una vez registrado el error y antes de reinicializa la suscripción.)

  • Copias de seguridad de registro de transacciones del publicador y el suscriptor. (Estos deben ser de al menos las 24 horas que han desembocado en el momento del problema.)

  • Trazas del analizador que muestran la actividad de los agentes de duplicación en el publicador, el suscriptor y el distribuidor. (Por favor, asegúrese de que el generador de perfiles se ejecuta incluso antes de que el problema se inicia. Lo ideal es que desee iniciar el generador de perfiles a la misma hora como la hora de inicio del trabajo de reindex.)

  • Resultados de los cinco pasos anteriores para identificar la tabla afectada y el valor de clave principal que falta

  • Salida de las vistas de catálogo desde el publicador y las bases de datos de suscriptor:

    • sys.partitions

    • sys.allocation_units

    • sys.objects

  • Resultados detallados de los registros del agente de replicación

Problemas conocidos que se abordan

Los problemas siguientes se producen en las versiones anteriores de SQL Server:

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Referencias

Para obtener más información acerca de la terminología de la actualización de software, consulte la Descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft.

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¿Cómo de satisfecho está con la calidad de la traducción?
¿Qué ha afectado a tu experiencia?

¡Gracias por sus comentarios!

×