Compartir a través de


Detección y resolución de conflictos de replicación

Cuando realiza una sincronización después de la sincronización inicial, los cambios realizados en los datos en un suscriptor pueden entrar en conflicto con los realizados en otro suscriptor o el publicador. Cuando crea la publicación, asigna una resolución para solventar estos conflictos.

Eliminar conflictos

Cuando se realiza una sincronización, el Agente de mezcla que se ejecuta en el publicador detecta cualquier conflicto de datos y, a continuación, determina qué datos se aceptan y propagan a otros sitios en función de la resolución asociada con la publicación.

Microsoft SQL Server Compact 3.5 admite el seguimiento por filas y por columnas al sincronizar con publicadores de SQL Server 2005, SQL Server 2008 y SQL Server 2008 R2.

Nota

La sincronización con SQL Server 2000 no se admite en SQL Server Compact 3.5.

Usar resoluciones

Una vez detectado un conflicto, el Agente de mezcla inicia el solucionador de conflictos que se haya seleccionado para el artículo. Puede que sea la resolución predeterminada, una de las otras resoluciones suministradas o una personalizada. Los cambios aceptados se eligen de acuerdo con las reglas del solucionador de conflictos. Los conflictos del suscriptor de SQL Server Compact 3.5 se detectan, resuelven y registran siempre en el publicador.

Importante

Ahora, el acceso de varios usuarios permite que se realicen cambios durante la sincronización. Estos cambios pueden causar un conflicto en el cliente. Los conflictos en el cliente se detectan en el suscriptor, pero no se resuelven en él. El conflicto se volverá a detectar y resolver en el publicador durante la próxima sincronización. Para obtener más información, vea Sincronización y acceso multiusuario.

Las resoluciones pueden utilizar el origen del cambio de datos o el valor de prioridad del suscriptor para resolver conflictos. Por ejemplo, la resolución predeterminada sigue la regla de que los cambios en el publicador siempre invalidan los cambios en el suscriptor. Puede decidir utilizar una resolución diferente que siempre dé prioridad a los cambios en el suscriptor sobre los del publicador.

Nota

Los clientes de SQL Server Compact 3.5 siempre tienen el valor de prioridad 0. Por lo tanto, una resolución basada en el valor de prioridad no dará prioridad a los cambios realizados en el dispositivo.

Para obtener más información acerca de la detección y resolución de conflictos, vea el tema sobre detección y resolución de conflictos de replicación de mezcla en los Libros en pantalla de SQL Server.

Nota

Las suscripciones de SQL Server Compact 3.5 no admiten los solucionadores de conflictos de combinación basados en procedimientos almacenados.

Usar resoluciones personalizadas

Las resoluciones personalizadas permiten agregar lógica de negocios a la replicación. Una resolución personalizada es una DLL en código nativo o administrado. Para usarse, la resolución personalizada debe registrarse en el publicador y el servidor que ejecuta IIS mediante el procedimiento almacenado sp_registercustomeresolver. El procedimiento almacenado sp_registercustomeresolver incluye el parámetro is_dotnet_assembly, que se establece en True para una resolución integrada en el código administrado, o en False para una DLL nativa.

Importante

Se debe registrar la resolución personalizada en el equipo que ejecute IIS, así como en el equipo que ejecute SQL Server.

Vea también

Otros recursos

Usar el seguimiento a nivel de fila y a nivel de columna