Template: Generic Hotfix

BUG #: 149290 (Content Maintenance)VSTS Bug #: 767547

Síntomas

Imagine la siguiente situación:

  • Instalar Microsoft SQL Server Compact 3.5 en un equipo.

  • Se creará un suscriptor de SQL Server Compact 3.5.

  • Descargar muchas filas desde una publicación de mezcla a una base de datos mientras el publicador se sincroniza con el suscriptor. Las filas contienen muchos artículos y restricciones.

En este escenario, se registra un mensaje de error similar al siguiente en el registro de errores de SQL Server:

System.Data.SqlServerCe.SqlCeExceptionNative Error = 0, HRESULT =-2147217873, el mensaje de Error: un valor no cumple las restricciones de integridad de una columna o tabla.

Nota Este problema se produce en el sistema operativo de 32 bits y el sistema operativo de 64 bits.

This issue usually occurs when the following conditions are true:

  • The publisher synchronizes under a heavy workload.

  • The articles of rows are downloaded out of sequential order.


Causa

Este problema se produce porque se utiliza un identificador no válido de exchange. Cuando muchas filas para su descarga en un estado pendiente, agente de cliente de SQL Compact llama a un método de reintento que utiliza un identificador no válido exchange. Por lo tanto, se produce el problema que se menciona en la sección "Síntomas".

This issue occurs because the guidRetries value is not initialized to a GUID value.

Note The AddRetryMsg() method uses the guidRetries value to generate an exchange ID for a retry message.

When many articles and constraints exists, the AddRetryMsg() method may run multiple times. However, the guidRetries value is not initialize to a GUID value, and the guidRetries values are the same when the AddRetryMsg() method runs multiple times on a computer that is running a 32-bit operating system.

Therefore, SQL Compact Client Agent uses the same exchange ID to create all new requests, and an SSCE_M_RSCBWITHSAMEEXCHANGEID 29005 Server Agent error is generated. Additionally, you receive the following error message:

A replication session control block already exists. The IIS server was probably shut down during a synchronization process. Try synchronizing again.

Solución

La revisión que resuelve este problema se incluye en el paquete de actualización acumulativa 5 para SQL Server Compact 3.5 Service Pack 2 (SP2). Para obtener más información acerca de cómo obtener el paquete de actualización acumulativa 5 para SQL Server Compact 3.5 Service Pack 2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2553608 5 de actualización acumulativa para SQL Server Compact 3.5 Service Pack 2

Author: jannaw
Writer: v-yipli
Tech Reviewer: panarasi;rtandon;ambrishm;babuk;atisagar;jannaw
Editor: v-lynan

¿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?

¿Algún comentario adicional? (Opcional)

¡Gracias por sus comentarios!

×