El presente trabajo de investigación forma parte del curso de maestría de ingeniería de sistemas de la Universidad Nacional de la Amazonia Peruana que es realizado del curso de apoyo a la toma de decisiones, para lo cual se usará la base de datos Nortwind en SGBD SQL Server 2014, además de ello se realizará la configuración de la replicación de la misma en distintos ordenadores que consistirá en el transporte de datos entre dos o más instancias de servidores y finalmente el desarrollo de una aplicación web para poder acceder a los datos espejo de replicación en modo cliente, la replicación nos permitirá tener los datos almacenados en más de un sitio la cual aumenta la disponibilidad los datos y mejorará el funcionamiento de las consultas globales de la base de datos Nortwind.
Elaboración de la estructura del ADN y ARN en papel.pdf
Implementación de replicación de base de datos con servicio de replication service de sql server 2014
1. Maestría en Ingeniería de Sistemas con Mención
en Gerencia de Tecnología de la Información y
Gestión de Software.
Universidad Nacional de la Amazonia
Peruana
Iquitos – Perú
RESPONSABLES:
Castillo Sánchez, Juan Carlos
Nemecio Rodrigo López Rojas
Lelis Antony Saravia Llaja
Jhon Charlie Martinez Carranza
Renzo Da Silva de Oliveira Díaz
DOCENTE:
Msc. Jose García Díaz
PROYECTO FINAL: IMPLEMENTACIÓN DE REPLICACIÓN DE
BASE DE DATOS CON SERVICIO DE REPLICATION SERVICE
DE SQL SERVER 2014
CURSO:
Sistema de apoyo a la toma de decisiones
2. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 2
ÍNDICE DE CONTENIDO
Pág.
I. INTRODUCCIÓN 3
II. MATERIALES Y METODOS O METODOLOGIA COMPUTACIONAL 4
III. DESARROLLO DE LA APLICACIÓN 6
IV. GLOSARIO 26
V. CONCLUSIONES 27
VI. BIBLIOGRAFIA 27
3. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 3
I. INTRODUCCIÓN
El constante manejo de la información y el perfeccionamiento de las
comunicaciones a nivel mundial han conducido a establecer sistemas de
información que faciliten almacenar datos de forma masiva, dando lugar al
surgimiento de los sistemas de bases de datos. En sus inicios los datos se
almacenaban de forma centralizada, pero el incremento de la información y la
necesidad de que ordenadores ubicados geográficamente distantes pudiesen
compartir datos impulsó vertiginosamente la utilización de sistemas distribuidos.
La tendencia al desarrollo de estos sistemas ha propiciado que las bases de datos
que se encuentran en ordenadores distantes, favorecidas por la utilización de las
redes de comunicación, mantengan la actualización y sincronización de los datos a
través de los sistemas de réplica. El proceso de replicación permite el copiado y
distribución de objetos de una base de datos hacia otra, lo que contribuye a la
coherencia y consistencia de la información y con ello la disminución de riesgos
concernientes a la perdida de información.
El presente trabajo de investigación forma parte del curso de maestría de
ingeniería de sistemas de la Universidad Nacional de la Amazonia Peruana que es
realizado del curso de apoyo a la toma de decisiones, para lo cual se usará la base
de datos Nortwind en SGBD SQL Server 2014, además de ello se realizará la
configuración de la replicación de la misma en distintos ordenadores que consistirá
en el transporte de datos entre dos o más instancias de servidores y finalmente el
desarrollo de una aplicación web para poder acceder a los datos espejo de
replicación en modo cliente, la replicación nos permitirá tener los datos
almacenados en más de un sitio la cual aumenta la disponibilidad los datos y
mejorará el funcionamiento de las consultas globales de la base de datos
Nortwind.
4. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 4
II. MATERIALES Y METODOS O METODOLOGIA COMPUTACIONAL
La replicación en Microsoft SQL Server radica en el transporte de datos entre dos o
más instancias de servidores, y para ello brinda un conjunto de soluciones que
permite la copia, distribución y modificación de los datos, además incluye varios
métodos y opciones para el diseño como: implementación, supervisión y
administración de la replicación, con el fin de mantener la coherencia y seguridad
de los datos (MICROSOFT DEVELOPER NETWORK, 2015a).
Para representar los componentes y procesos de una topología de replicación se
utilizan metáforas de la industria de la publicación. El modelo se compone de los
siguientes objetos: el publicador, el distribuidor, el suscriptor, la publicación, el
artículo y la suscripción; así como de varios agentes, que son los procesos
responsabilizados de copiar los datos entre el publicador y el suscriptor. La
replicación de datos es un asunto exclusivamente entre servidores de datos, en
nuestro caso hablamos de servidores SQL Server. Los servidores SQL Server
pueden desempeñar uno o varios de los siguientes roles: publicador, distribuidor o
suscriptor.
En resumen, El publicador es un servidor que pone los datos a disposición de otros
servidores para poder replicarlos. El distribuidor es un servidor que aloja la base de
datos de distribución y almacena los datos históricos, transacciones y metadatos.
Los suscriptores reciben los datos replicados.
Escenarios típicos de replicación:
Una topología mínima de replicación está conformada de dos o tres servidores
SQL Server que desempeñan los roles mencionados
1. El rol de distribuidor desempeñado por el publicador (Fig. 1).
2. El rol de distribuidor desempeñado por el suscriptor (Fig. 2)
3. Un servidor de distribución, independiente del publicador y del suscriptor (Fig.
3)
Fig.1 Publicador-Distribuidor Fig.2 Distribuidor-Suscriptor Fig. 3 Distribuidor Independiente.
5. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 5
Tipos de Replicación
Replicación de instantáneas
Replicación transaccional
Replicación de mezcla
Replicación de instantáneas
En la replicación de instantáneas los datos se copian tal y como aparecen exactamente
en un momento determinado. Por consiguiente, no requiere un control continuo de los
cambios. Las publicaciones de instantáneas se suelen replicar con menos frecuencia
que otros tipos de publicaciones.
Puede llevar más tiempo propagar las modificaciones de datos a los suscriptores. Se
recomienda utilizar: cuando la mayoría de los datos no cambian con frecuencia; se
replican pequeñas cantidades de datos; los sitios con frecuencia están desconectados y
es aceptable un periodo de latencia largo (la cantidad de tiempo que transcurre entre
la actualización de los datos en un sitio y en otro
Replicación transaccional
En este caso se propaga una instantánea inicial de datos a los suscriptores, y después,
cuando se efectúan las modificaciones en el publicador, las transacciones individuales
se propagan a los suscriptores. SQL Server 2014 almacena las transacciones que afectan
a los objetos replicados y propaga esos cambios a los suscriptores de forma continua o
intervalos programados. Al finalizar la propagación de los cambios, todos los
suscriptores tendrán los mismos valores que el publicador.
Replicación de mezcla
Permite que varios sitios funcionen en línea o desconectados de manera autónoma, y
mezclar más adelante las modificaciones de datos realizadas en un resultado único y
uniforme. La instantánea inicial se aplica a los suscriptores; a continuación SQL Server
2014 hace un seguimiento de los cambios realizados en los datos publicados en el
publicador y en los suscriptores. Los datos se sincronizan entre los servidores a una
hora programada o a petición.
6. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 6
III. DESARROLLO DE LA APLICACIÓN
A. CREACIÓN DE BASE DE DATOS
Volcaremos los datos a la base de datos creada Northwind
Fig. 4- creando Northwind
Con lo anterior ejecutado, se muestra el resultado, Diagrama E-R
Fig. 5- Base de datos Northwind
7. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 7
B. CREACIÓN DE USUARIOS
Fig. 6- Conexión con servidor
Crearemos los usuarios correspondientes:
Fig. 7- Crear Usuarios
8. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 8
Configuramos el usuario, contraseña y base de datos a la cual se le concederá los
accesos
Fig. 8- Crear Usuarios
Damos accesos
Fig. 9- Crear Usuarios
9. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 9
Damos accesos
Fig. 10- Crear Usuarios
Usuario creado con éxito “publicador”, para casos de esta prueba se creará
también el usuario “suscriptor” pero en el servidor donde se encuentra la base de
datos que servirá para almacenar la réplica.
Fig. 11- Crear Usuarios
10. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 10
C. PUBLICACIÓN DE REPLICACIÓN
Ahora crearemos una nueva publicación:
Fig. 12- Crear Usuarios
Damos en siguiente:
Fig. 13- Crear Usuarios
11. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 11
Seleccionamos la base de datos que hemos creado con anterioridad:
Fig. 14- selección de la BD
Seleccionamos en publicación transaccional y damos en siguiente
Fig. 15- publicación transaccional
12. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 12
Seleccionamos las tablas que conforman la replicación, para términos de rapidez
solo seleccionaremos la tabla Customer:
Fig. 16- selección de tablas
Damos clic en siguiente:
Fig. 17- Snapshot Agent
13. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 13
Fig. 18- Agent Security
Al hacer clic en el botón Cambiar, nos mostrará el siguiente módulo de configuración, en la cual, podremos
configurar cada cuanto tiempo requerimos que nuestra base de datos se actualice.
Fig. 19- Job Schedule
14. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 14
Seleccionamos en configuración de seguridad
Fig. 20- agente de seguridad
Seleccionamos correr sobre SLQ y digitamos la credencial que hemos creado con
anterioridad:
Fig. 21- Snapshot Security
15. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 15
Damos clic en siguiente para crear la publicación:
Fig. 22- Wizard Actions
Insertamos un nombre para la réplica y finalizamos:
Fig. 23- Registro de nombre replica
16. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 16
Fig. 24- carga de datos correcto
Se creó correctamente la réplica llamado REPLICATIONBDNORTWIND para la base de
datos Northwind
Fig. 25- Replica creada
17. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 17
D. CREACIÓN DE SUSCRIPTORES
Ahora crearemos los suscriptores, en la cual daremos en nueva suscripción de la
suscripción local:
Fig. 26- nuevo suscriptor
Damos en clic siguiente:
Fig. 27- nueva suscripción
18. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 18
Seleccionamos la réplica creada con anterioridad:
Fig. 28- selección de replica
Fig. 29- selección de distribuidor
19. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 19
Seleccionamos el servidor suscriptor
Fig. 30- selección de distribuidor
Fig. 31- selección de distribuidor
20. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 20
Fig. 32- cambio de configuración de seguridad
Digitamos las credenciales de seguridad anteriormente creadas.
Fig. 33- inserción de credenciales de seguridad
21. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 21
Fig. 34- inicializamos la suscripción
Fig. 35- configuración completa
22. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 22
Ahora debemos de dar permiso a la carpeta donde estará alojado los archivos de replicación, todo
esto para evitar los errores de denegación de permisos de Windows.
Fig. 36- Propiedades de replicación
Fig. 37- Cambio de ruta
23. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 23
Fig. 38- ver estado de agente instantaneo
Verificamos que nuestra replica se realizó con éxito y sin inconvenientes hacia el
servidor de JUANCASTILLO de la base de datos NorthWind.
Fig. 39 – instantáneo generado al 100%
24. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 24
E. VERIFICACIÓN DE LA IMPLEMENTACIÓN
Para verificar que efectivamente se realiza la replicación sin inconvenientes, se
realizará una inserción en la tabla Customer en el publicador para luego de ello ser
consultado en el suscriptor:
Fig. 40 – inserción de datos de verificación
Fig. 41 – consulta generada para verificar la réplica en el suscriptor
25. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 25
Se desarrolló una aplicación web en la cual se consultará e insertará datos hacia la
base de datos publicador y por consiguiente este será replicado hacia la base de
datos suscriptora.
Fig. 42 – código de proyecto web
Fig. 43 – interfaz de usuario CRUD
26. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 26
IV. GLOSARIO
Publicador: es una instancia de base de datos que permite que los datos estén
disponibles para otras ubicaciones a través de la replicación.
Distribuidor: es una instancia de base de datos que funciona como almacén
para datos específicos de replicación asociados con uno o más publicadores.
Cada publicador está asociado con una sola base de datos en el distribuidor.
Suscriptor: es una instancia de base de datos que recibe datos replicados. El
suscriptor también puede devolver los datos modificados al publicador o volver
a publicar los datos en otros suscriptores.
Artículo: identifica un objeto de base de datos incluido en una publicación,
como, por ejemplo: tablas, vistas, procedimientos almacenados y otros objetos.
Publicación: es un conjunto de uno o más artículos de una base de datos. La
publicación permite especificar un conjunto de objetos y datos de bases de
datos que se replican como una unidad.
Suscripción: es una solicitud de una copia de una publicación que se entrega a
un suscriptor. La suscripción define qué publicación se recibirá, dónde y cuándo
(MICROSOFT DEVELOPER NETWORK, 2015b).
Agentes de Replicación: son programas independientes para realizar las tareas
asociadas con el seguimiento de los cambios y la distribución de los datos.
Existen varios agentes de replicación como: el agente SQL Server, el agente de
instantáneas, el agente de registro del LOG, el agente de distribución, el agente
de mezcla, el agente de lectura de cola y los trabajos de mantenimiento de la
replicación (MICROSOFT SQLSERVER, 2015b).
27. Implementación de replicación de base de datos con replication service de SQL server.
Pág. 27
V. CONCLUSIONES
Una replicación nos permite copiar, distribuir y posiblemente modificar datos de
toda una empresa para lo cual tiene valor agregado en temas de respaldo de
datos y reducción de riesgo de pérdida de datos.
Los componentes del modelo de una replicación son el publicador, el
distribuidor. Los suscriptores, una publicación, una suscripción.
Existen 3 tipos de replicación que podemos aplicar de acuerdo a las
necesidades que tengamos.
Los tipos de replicación son: replicación instantánea, replicación tradicional y
replicación mezcla.
VI. BIBLIOGRAFIA
Revista Cubana de Ciencias Informáticas
Vol. 10, No. 3, julio-septiembre, 2016
ISSN: 2227-1899 | RNPS: 2301
http://rcci.uci.cu
https://docs.microsoft.com/es-es/sql/relational-databases/replication/tutorial-
replicating-data-between-continuously-connected-servers?view=sql-server-2017
https://docs.microsoft.com/es-es/sql/relational-databases/replication/sql-server-
replication?view=sql-server-2017
http://aegis.pe/habilitar-usuario-sa-en-sql-server-2008
https://docs.microsoft.com/en-us/sql/relational-databases/replication/tutorial-
preparing-the-server-for-replication?view=sql-server-2017