Replicación en SQL Server 2000/05

En este artículo os explico en que consiste la replicación entre una base de datos SQL Server 2000 o 2005 y una base de datos embebida en un dispositivo móvil, esperemos que os ayude a comprender tanto los conceptos como el funcionamiento del mismo.

Hay momentos en los que deseamos replicar el contenido de una base de datos en otra localización como por ejemplo llevar datos a un dispositivo móvil. Es cuando nos encontramos con el problema de como llevar esa información de un sitio a otro. Para ello Microsoft ha habilitado un sistema de replicación de información por el cual podemos llevar cualquier BBDD ubicada en un servidor de base de datos SQL Server 2000 o 2005 a otra BBDD del mismo tipo o bien a un dispositivo movil. Los sistemas gestores de bases de datos para dispositivos móviles varían dependiendo de la versión del sistema operativo con el que estamos trabajando, en el caso de Windows Mobile 5.0 el sistema gestor de base de datos que vamos a utilizar es el SQL Server Mobile 2005.

Una vez decididos los dos extremos que van a participar en la replicación (SQL Server 2005, parte servidora y SQL Server Mobile 2005,parte cliente) debemos de distinguir entre lo que es la publicación y la subscripción.

Yo siempre hago la siguiente comparativa; imáginemos por un momento que llevamos un negocio de revistas. Lo que hemos de hacer primeramente es decir a nuestros trabajadores que creen una serie de artículos los cuales compondrán una futura publicación. Una vez realizada esta publicación, se necesita de un distribuidor que pueda llevar esa publicación a los diferentes subscriptores, por ejemplo kioskeros y oficinas de prensa, los cuales están subscritos mediante un tipo de subscripción a esta publicación. Pues así funciona la replicación en las bases de datos, el servidor de SQL Server 2000/05 confecióna una publicación a partir de diversos artículos (tablas, vistas...), una vez publicada, el mismo servidor, u otro servidor que funcione como distribuidor, emite la publicación a todos sus subscriptores (en este caso nuestra pda Windows Mobile 5.0 con SQL Server Mobile 2005 será el subscriptor de esta publicación).

Al final, nos quedará una publicación en la parte servidora y una subscripción (base de datos que contiene la publicación que recibe) en la parte cliente.

Hay tres tipos de métodos de replicación:

- La replicación de instantáneas: funciona de modo que el servidor saca una foto de la publicación (copia completa que almacena en una carpeta de instantáneas) y se la envía al subscriptor COMPLETA cada vez que sea modificada, cuando se halla programado su distribución o a petición del subscriptor.

- La replicación transaccional: funciona de modo que el servidor envía inicialmente al subscriptor una instantánea de la publicación y a continuación SOLO envia las actualizaciones enviándo UNICAMENTE las sentencias Transact SQL que deben de ejecutarse para que el subscriptor las reciba y las ejecute de forma local. Consiguiendo así que se replique el proceso que se ha realizado anteriormente en el servidor y obteniendo el mismo estado final de ambas bases de datos.

- La replicación por mezcla: Este es el método que SE HA DE LLEVAR A CABO EN LOS DISPOSITIVOS CON WINDOWS MOBILE 5 y que consiste en que, el servidor envía una instantánea inicial a los subscriptores (PDAs :p) y a continuación bien por petición del subscriptor o bien de forma programada cada vez que se realicen cambios en la publicación (alguno de los articulos de esta) del servidor, se envían al subscriptor UNICAMENTE los cambios que se han efectuado.

Esta replicación tiene dos tipos de subscripción, por extracción y por inserción.

La subscripción por inserción se realiza en un único sentido (servidor --> cliente) de tal forma que solo el servidor está habilitado a enviar cambios al cliente.

La subscripción por extracción permite que tanto el servidor como el cliente se envíen cambios el uno al otro, creandose así un canal bidireccional de intercambio de información.

 

Espero que os hayáis empapado bien en esta primera entrega tan básica, en las siguientes entregas veremos mas a fondo como se realiza este proceso, que herramientas debemos de utilizar y como crear un pequeño ejemplo en código para realizar una replicación de datos entre un servidor de BBDD y un dispositivo móvil.

Un saludo

Replicación con SQL Server y SQL Server Mobile
Eduardo Ortega Bermejo

Me dedico a investigar nuevas tecnologías relacionadas con la movilidad en entornos Microsoft. Llevo un año trabajando para el Centro de Innovación en Movilidad de Microsoft y una de mis labores es la de estudiar todas novedades de este área y difundirlas, evangelizando así los conocimientos que llegan a mi :)
Fecha de alta:11/09/2007
Última actualizacion:11/09/2007
Visitas totales:13376
Valorar el contenido:
Últimas consultas realizadas en los foros
Últimas preguntas sin contestar en los foros de devjoker.com