Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para comprender cómo se resuelven los conflictos según los valores de prioridad asignados y si una suscripción es un servidor o una suscripción de cliente, considere el ejemplo siguiente, que describe una serie de actualizaciones de una fila sobre varias sincronizaciones de mezcla.
Estos son los valores de prioridad inicial de cuatro sitios en una topología básica de replicación de mezcla (un publicador, dos suscriptores con suscripciones de servidor y un suscriptor con una suscripción de cliente).
| Sitio | Tipo | Valor de prioridad |
|---|---|---|
| A | Publicador | 100,00 |
| B | Suscripción de servidor | 75.00 (asignado) |
| C | Suscripción de servidor | 50.00 (asignado) |
| D | Suscripción de cliente | 0.00 (valor predeterminado) |
Fase 1: Valores iniciales
Inicialmente, el sitio A (el publicador) crea la versión uno de la fila que contiene value='Nebraska', que se replica en los sitios B, C y D durante la siguiente sincronización de fusión. Después de la sincronización, estos son los valores de la fila.
| Sitio | Tipo | Valor de fila |
|---|---|---|
| A (Publicador) | 100,00 | Nebraska |
| B (Suscripción de servidor) | 75,00 | Nebraska |
| C (Suscripción de servidor) | 50.00 | Nebraska |
| D (Suscripción de cliente) | 0.00 | Nebraska |
Fase 2: Tanto el publicador como el suscriptor con suscripción al servidor actualizan una fila.
El sitio A actualiza el valor de fila a Texas y el sitio B actualiza el valor de fila a New Jersey. Cuando se produce la siguiente sincronización de mezcla, hay un conflicto entre los sitios A y B. El sitio A gana el conflicto. El valor ganador del conflicto del sitio A se propaga a los sitios B, C y D.
| Sitio | Valor de prioridad | Valor de fila |
|---|---|---|
| A (Publicador) | 100,00 | Texas |
| B (Suscripción de servidor) | 75,00 | Texas |
| C (Suscripción de servidor) | 50.00 | Texas |
| D (Suscripción de cliente) | 0.00 | Texas |
Fase 3: Varios cambios realizados en la misma fila
Supongamos que el sitio C actualiza la fila (cambia a Carolina del Norte) y se sincroniza con el publicador. Esto no es un conflicto porque C ya combinó correctamente la última actualización de A (con el valor de fila='Texas' combinado correctamente). A continuación, supongamos que el sitio B actualiza la fila (cambia a Idaho).
| Sitio | Valor de prioridad | Valor de fila |
|---|---|---|
| A (Publicador) | 100,00 | Carolina del Norte |
| B (Suscripción de servidor) | 75,00 | Idaho |
| C (Suscripción de servidor) | 50.00 | Carolina del Norte |
| D (Suscripción de cliente) | 0.00 | Texas |
Cuando el sitio B se sincroniza con el publicador, hay un conflicto de actualización. Dado que B y C son suscripciones de servidor y la prioridad de B es mayor que la de C, el sitio B gana el conflicto. Después de combinar los otros dos sitios, el valor de B se propaga a los demás suscriptores.
| Sitio | Valor de prioridad | Valor de fila |
|---|---|---|
| A (Publicador) | 100,00 | Idaho |
| B (Suscripción de servidor) | 75,00 | Idaho |
| C (Suscripción de servidor) | 50.00 | Idaho |
| D (Suscripción de cliente) | 0.00 | Idaho |
Fase 4: Suscriptores con suscripciones tanto de servidor como de cliente actualizan la fila.
Supongamos que el sitio D actualiza la fila (cambiándola a Nuevo México) y se sincroniza con el publicador. Supongamos entonces que el sitio B actualiza la fila (la cambia por California).
| Sitio | Valor de prioridad | Valor de fila |
|---|---|---|
| A (Publicador) | 100,00 | Nuevo México |
| B (Suscripción de servidor) | 75,00 | California |
| C (Suscripción de servidor) | 50.00 | Idaho |
| D (Suscripción de cliente) | 0.00 | Nuevo México |
Cuando el sitio B se sincroniza con el publicador, hay un conflicto de actualización. A diferencia del ejemplo anterior, dado que D tiene una suscripción de cliente, supone el valor de prioridad del publicador (sitio A) tras la sincronización. Dado que la prioridad de A es mayor que B, B pierde el conflicto; el valor especificado inicialmente en D gana. (Si el suscriptor B se sincronice con A antes de que lo hiciera el suscriptor D, el sitio B habría ganado el conflicto). El sitio D que gana el conflicto se basa en que el publicador no ha realizado ningún cambio o ha recibido otro cambio desde que la versión de la fila actualizada en el Sitio D se sincronizó por última vez. Si algún suscriptor con suscripción de servidor o cualquier otro suscriptor con suscripción de cliente se sincroniza primero, se sigue la regla de prioridad más alta o "el primero en sincronizar con el editor gana".
Los valores finales después de sincronizar todos los sitios se muestran aquí.
| Sitio | Valor de prioridad | Valor de fila |
|---|---|---|
| A (Publicador) | 100,00 | Nuevo México |
| B (Suscripción de servidor) | 75,00 | Nuevo México |
| C (Suscripción de servidor) | 50.00 | Nuevo México |
| D (Suscripción de cliente) | 0.00 | Nuevo México |
El orden de sincronización y el valor de prioridad determinan el resultado de conflictos al mezclar suscripciones de servidor y cliente en el mismo nivel de la topología. Este último conjunto de actualizaciones ilustra por qué se debe tener precaución. Aunque el suscriptor tenía el valor de prioridad más bajo de los tres suscriptores, ganó el conflicto porque se sincronizó con el publicador (suponiendo así el valor de prioridad del publicador de 100.00) primero. Si el sitio C (suscripción de servidor con un valor de prioridad de 50.00) entró en Nuevo México en lugar del sitio D, el sitio B (suscripción de servidor con un valor de prioridad de 75.00) habría ganado el conflicto y el resultado habría sido California.