Compartir a través de


Funcionamiento de la replicación

La replicación de mezcla con Microsoft SQL Server Compact 3.5 sigue este proceso:

  1. Los datos se publican en SQL Server.

  2. Se crean las suscripciones a las publicaciones.

  3. Se actualizan los datos en el suscriptor.

  4. Se sincronizan los datos.

En la siguiente tabla se definen algunos términos utilizados en esta sección.

Término

Definición

Artículo

Tabla de base de datos habilitada para replicación.

Publicación

Colección de artículos.

Partición

Conjunto específico de filas o columnas de una publicación.

Publicador

Base de datos que hace que una publicación esté disponible mediante replicación.

Suscriptor

Base de datos que recibe datos replicados y puede devolver cambios de datos al publicador.

Suscripción

Solicitud de una copia de la publicación que se entregará al suscriptor.

Base de datos de suscripciones

Base de datos que recibe artículos publicados por un publicador.

Publicar datos

Las publicaciones especifican los datos que se publican. Las publicaciones se personalizan normalmente según los distintos usuarios o grupos de usuarios. A veces, todos los usuarios necesitan los mismos datos. Por ejemplo, puede que cada empleado necesite una copia del directorio de empleados de la compañía. En otros casos, los distintos grupos de usuarios necesitan diferentes particiones de datos. Por ejemplo, los representantes de ventas pueden necesitar un conjunto de datos y los técnicos de soporte al cliente otro conjunto de datos distinto. Los usuarios privados quizá necesiten datos específicamente filtrados para ellos. Puede que un representante de ventas, por ejemplo, solo necesite los datos para sus propias cuentas de clientes.

Al crear la publicación, especifique los artículos que contiene. Aunque las publicaciones de SQL Server pueden contener otros objetos de base de datos, como funciones definidas por el usuario, vistas y procedimientos almacenados, la replicación de SQL Server Compact 3.5 omite estos objetos y solo incluye las tablas de la suscripción de SQL Server Compact 3.5. Puede especificar las filas y columnas incluidas en el artículo mediante la aplicación de filtros. Para obtener más información, vea el tema sobre replicaciones en los Libros en pantalla de SQL Server.

Cómo suscribirse a las publicaciones

Una vez definida la publicación, una aplicación se suscribe a ella, bien mediante programación en el dispositivo, llamando a los métodos revelados por el objeto Replication o la clase SqlCeReplication de SQL Server Compact 3.5, o bien utilizando el Asistente para nueva suscripción de SQL Server Management Studio. Cuando se haya creado la suscripción, se aplica la instantánea inicial del distribuidor a la base de datos de suscripciones del suscriptor.

Actualizar datos en el suscriptor

Es probable que su aplicación actualice la base de datos de suscripciones. La replicación de mezcla permite que cada base de datos de suscripciones se actualice de forma autónoma. Se pueden producir actualizaciones independientemente de si el dispositivo está o no conectado a la red. Cada base de datos de SQL Server Compact 3.5 utiliza el seguimiento de cambios para controlar qué instrucciones INSERT, UPDATE y DELETE se realizan en el suscriptor de SQL Server Compact 3.5. Se puede utilizar el seguimiento a nivel de filas y a nivel de columnas.

Sincronizar datos

Normalmente, los usuarios conectan el dispositivo a la red de manera intermitente. Estas conexiones permiten que la aplicación sincronice los cambios realizados en el suscriptor con los cambios realizados en el publicador. La aplicación inicia la sincronización llamando a los métodos de sincronización revelados por el objeto Replication o la clase SqlCeReplication. La sincronización es un proceso que consta de cuatro pasos.

  1. Extraer los cambios y crear el archivo de mensajes de entrada.

    El Agente de cliente de SQL Server Compact 3.5 extrae todos los registros insertados, actualizados y eliminados de la base de datos de suscripciones en el suscriptor de SQL Server Compact 3.5 y los propaga al Agente de servidor de SQL Server Compact 3.5 a través de HTTP. El Agente de servidor de SQL Server Compact 3.5 crea un nuevo archivo de mensajes de entrada y escribe en dicho archivo los cambios en las instrucciones INSERT, UPDATE y DELETE enviados por el Agente de cliente de SQL Server Compact 3.5.

  2. Ejecutar el proceso del Reconciliador de SQL Server y aplicar los cambios a la base de datos de publicación.

    Cuando se hayan escrito todas las solicitudes en el archivo de mensajes de entrada, el Agente de servidor de SQL Server Compact 3.5 iniciará el Reconciliador de SQL Server. El Reconciliador de SQL Server carga el Proveedor de replicación de SQL Server Compact 3.5, que lee el archivo de mensajes de entrada e informa al Reconciliador de SQL Server sobre los cambios realizados en la base de datos de suscripciones de SQL Server Compact 3.5 que deben aplicarse a la base de datos de publicación en el publicador. Durante el proceso, el Reconciliador de SQL Server detectará y resolverá los conflictos. Un conflicto se produce cuando más de un suscriptor o publicador actualiza el mismo registro.

    Nota

    El Reconciliador de SQL Server resuelve los conflictos con los solucionadores de conflictos. Puede utilizar las resoluciones de conflicto proporcionadas con SQL Server para implementar resoluciones de conflicto simples en las aplicaciones de replicación de SQL Server Compact 3.5, o escribir resoluciones de conflicto personalizadas para implementar soluciones más complejas. Para obtener más información, vea Detección y resolución de conflictos de replicación.

  3. Crear el archivo de mensajes de salida.

    El Reconciliador de SQL Server informa al Proveedor de replicación de SQL Server Compact 3.5 sobre los cambios realizados en el publicador que deben aplicarse a la base de datos de suscripciones del dispositivo. El Proveedor de replicación de SQL Server Compact 3.5 escribe dichos cambios en un archivo de mensajes de salida del servidor que está ejecutando IIS.

  4. Leer el archivo de mensajes de salida y aplicar los cambios a la base de datos de suscripciones de SQL Server Compact 3.5.

    Cuando se haya completado el proceso del Reconciliador de SQL Server, el Agente de servidor de SQL Server Compact 3.5 ubica el archivo de mensajes de salida creado por el Proveedor de replicación de SQL Server Compact 3.5. Este archivo contiene los cambios que se han producido en el publicador y que deben aplicarse a la base de datos de suscripciones del dispositivo. El Agente de servidor de SQL Server Compact 3.5 lee el archivo de mensajes de salida y lo transmite al Agente de cliente de SQL Server Compact 3.5 del dispositivo. El Agente de cliente de SQL Server Compact 3.5 aplica los cambios del archivo de mensajes de salida a la base de datos de suscripciones de SQL Server Compact 3.5.

    Nota

    El Agente de cliente de SQL Server Compact 3.5 procesa los archivos de mensajes de entrada y de salida, en bloques lógicos, mientras los lee desde la base de datos de suscripciones del dispositivo o aplica los cambios en ésta última. Al procesar cada archivo de mensajes de esta forma, el Agente de cliente de SQL Server Compact 3.5 impide que se escriba todo el archivo de mensajes en el dispositivo, ahorrando espacio de almacenamiento en el mismo.

Una vez que el Agente de cliente de SQL Server Compact 3.5 haya incorporado todos los cambios en la base de datos de suscripciones y se hayan resuelto los conflictos, se sincronizan las bases de datos de publicaciones y de suscripciones y se reúnen los datos. No obstante, como se pueden producir actualizaciones continuamente, los valores de datos no deberían ser los mismos en el publicador y en los suscriptores.

Importante

No se pueden iniciar al mismo tiempo dos procesos de replicación de combinación en la misma base de datos.