2. La replicación de mezcla, como la replicación transaccional,
normalmente se inicia con una instantánea de los objetos y
datos de una base de datos de publicaciones. Los cambios
de datos y las modificaciones de esquema posteriores que
se lleven a cabo en el publicador y en los suscriptores se
controlan mediante desencadenadores. El suscriptor se
sincroniza con el publicador cuando están conectados a la
red e intercambian todas las filas que han cambiado entre el
publicador y el suscriptor desde la última vez que se
produjo la sincronización.
La replicación de mezcla se suele utilizar en entornos de
servidor a cliente.
Replicación de Mezcla
3. La replicaciónde mezcla
es adecuadaen las
siguientessituaciones:
• Varios suscriptores actualizan los mismos
datos en diferentes ocasiones y propagan
los cambios al publicador y a otros
suscriptores.
• Los suscriptores necesitan recibir datos,
realizar cambios sin conexión y sincronizar
más adelante los cambios con el
publicador y otros suscriptores.
• Cada suscriptor requiere una partición de
datos diferente.
• Se pueden producir conflictos y, cuando
ocurren, debe poder detectarlos y
resolverlos.
• La aplicación requiere el cambio de datos
neto en lugar de acceso a los estados
intermedios de los datos.
4. Cómo funciona la replicación de mezcla
El Agente de instantáneas y el Agente de mezcla de SQL Server
implementan la replicación de mezcla. Si la publicación no se filtra o
utiliza filtros estáticos, el Agente de instantáneas crea una sola
instantánea. Si la publicación utiliza filtros con parámetros, el Agente de
instantáneas crea una instantánea para cada partición de datos.
También mezcla los cambios incrementales de los datos que tienen lugar
en el publicador o en los suscriptores después de la creación de la
instantánea inicial y detecta y resuelve los conflictos según las reglas
que configure.
6. Característicasde la Replicaciónde Mezcla
• Actualiza los datos haciendo independiente a mas de un servidor.
• Los datos son mezclados basados en un calendario o en la demanda.
• Permite a los usuarios trabajar online/offline y sincronizar más adelante
las modificaciones de datos realizadas en un resultado único y uniforme .
7. Cuandousarla Replicaciónde
Mezcla
• La autonomía del sitio es un factor
crucial.
• Múltiples subscriptores necesitan
actualizar datos en diferentes
ocasiones y propagar los cambios al
publicador y a otros suscriptores;
• los suscriptores necesitan recibir
datos, realizar cambios sin conexión
y sincronizar más adelante los
cambios con el publicador y otros
suscriptores
8. Cómo se inicializan publicaciones y
suscripciones en la replicación de mezcla
.
La replicación de mezcla debe inicializar
tanto el publicador como el suscriptor para
que puedan fluir datos entre ellos. En este
tema se proporciona información sobre los
pasos que tienen lugar durante la
inicialización.
9. Inicializar la publicación
Pasos de inicialización para una publicación que
tienen lugar cuando se ejecuta cada procedimiento
almacenado presentado o una vez que ha
finalizado el Asistente para nueva publicación. El
proceso de inicialización continúa después de que
el Agente de instantáneas se ejecute por primera
vez para una publicación.
10. Cada vez que se ejecuta el Agente de
instantáneas, se crean los siguientes tipos de
archivos (con las extensiones que se indican)
para cada artículo de la base de datos de
publicaciones:
Esquema (.sch)
Restricciones e índices (.dri)
Desencadenadores (.trg)
Datos de tabla del sistema (.sys)
Tablas de conflictos (.cft)
Datos (.bcp):
11. A continuación se muestran ciertas características cuando se
realiza a replicación de mezcla:
•La base de datos de publicaciones se marca para cada
replicación. Esta base de datos no puede quitarse a menos que se
quite la replicación.
•Las tablas del sistema se agregan a la base de datos de
publicaciones (a menos que ya haya una publicación de mezcla en
la base de datos).
•Se agregan las entradas de la publicación a las tablas del sistema.
•Se agrega un trabajo del Agente de instantáneas al sistema del
Agente SQL Server.
•Cada objeto replicado se marca para replicación. No es posible
eliminar el objeto, a menos que se quite el artículo correspondiente
de todas las publicaciones.
•Se agregan las entradas de cada artículo a las tablas del sistema.
12. Inicializar una suscripción
Las suscripciones se inicializan cuando su Agente de
mezcla se ejecuta y copia la instantánea inicial en la
base de datos de suscripciones.
Además del esquema y los datos de los objetos
replicados, la instantánea contiene las tablas del
sistema, las vistas, los desencadenadores y los
procedimientos almacenados que hay en la base de
datos de publicaciones.
13. Cómo se realiza el
seguimiento y la
enumeración de los
cambios en la réplica de
mezcla
Una vez inicializada una
publicación o suscripción, la réplica
de mezcla realiza el seguimiento y
la enumeración de todos los
cambios efectuados en los datos de
las tablas publicadas. El
seguimiento de los cambios se
realiza a través de
desencadenadores (que la réplica
crea para cada tabla publicada) y
tablas del sistema de las bases de
datos de suscripciones y
publicaciones. Estas tablas del
sistema de réplica se llenan con
metadatos que indican qué cambios
deben propagarse.
14. La réplica de mezcla utiliza los siguientes desencadenadores
para realizar un seguimiento de los cambios en todas las tablas
publicadas:
MSmerge_ins_<GUID>: desencadenador de inserción
MSmerge_upd_<GUID>:desencadenador de actualización
MSmerge_del_<GUID>: desencadenador de eliminación
Seguimiento de los cambios
15. La réplica de mezcla utiliza las siguientes tablas del sistema
adicionales para realizar un seguimiento de los cambios en las
tablas filtradas:
MSmerge_contents contiene una fila por cada fila insertada o
actualizada de una tabla publicada en la base de datos.
MSmerge_tombstone contiene una fila para cada fila eliminada
de una tabla publicada en la base de datos.
MSmerge_genhistory contiene una fila por cada generación.
Una generación es un conjunto de cambios que se entregan a
un publicador o suscriptor. Las generaciones se cierran cada vez
que se ejecuta el Agente de mezcla; los cambios posteriores en
una base de datos se agregan a una o varias generaciones
abiertas.
Seguimiento de los cambios
16. La replicación de mezcla permite
que varios nodos realicen
cambios de datos autónomos,
por lo que se producen
situaciones en las que un cambio
realizado en un nodo puede
entrar en conflicto con un cambio
realizado en los mismos datos en
otro nodo. En otros casos, el
Agente de mezcla encuentra un
error, como la infracción de una
restricción, y no puede propagar
a otro nodo un cambio realizado
en un nodo determinado.
.
Cómo la replicación de
mezcla
detecta y resuelve conflictos
17. • Registrar conflictos resueltos
• Nivel de seguimiento
• Tipos de conflictos
• Conflictos de actualización-actualización
• Conflictos de eliminación-actualización
• Conflictos de cambio con error
Pasos para detectar y resolver los
conflictos
18. Cómo se administra la caducidad de la
suscripción y la limpieza de los metadatos en
la replicación de mezcla
Una suscripción a una publicación de mezcla caduca si no se
ha sincronizado con el publicador dentro del período de
retención de la publicación. El período de retención
predeterminado es de 14 días.
Cuando una suscripción caduca, debe reinicializarse, ya que los
metadatos de la misma se quitan. El trabajo de limpieza de
suscripciones caducadas que se ejecuta en el publicador
elimina las suscripciones que no se han reinicializado. Este
trabajo se ejecuta diariamente de forma predeterminada; quita
todas las suscripciones de inserción que no se han
sincronizado durante el doble del período de retención de la
publicación.