Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ELABORADA POR:
DAVID LEONARDO ACEVEDO CRUZ 02‐256840
ANDRÉS RODRIGO SAAVEDRA OSORIO 02‐256832
Replicación en bases de datos distribuidas
Conceptos generales
Se conoce como replicación el proceso donde los datos son copiados entre bases de
datos del mismo servidor o diferentes servidores conectados por LAN, WAN o internet.
La replicación de MSSQL Server usa el publisher, el distribuidor y el suscriptor.
El Publisher es el servidor o base de datos que envía sus datos a otro servidor o base
de datos.
El suscriptor es el servidor o base de datos que recibe los datos de otro servidor o base
de datos
El distribuidor es el servidor que maneja el flujo de datos a través del sistema de
replicación. El servidor que usted está usando contiene la base de datos distribuida.
El Publisher contiene publicación(es). La publicación es una colección de uno o más
artículos que son enviados a un servidor suscriptor o una base de datos.
Un artículo es la unidad básica de replicación y puede ser una tabla o un subconjunto
de una tabla
La suscripción es el grupo de datos que un servidor o base de datos recibirá
Objetivo de la práctica
El objetivo de la práctica es realizar la replicación y ver el comportamiento en un motor
ampliamente conocido.
En esta práctica se va a realizar la replicación de tipo merge, la cual se denomina como
la más complicada de realizar. Con la replicación merge es posible hacer cambios
autónomos en los datos replicados en el Publisher y en el suscriptor. SQL server
captura todos los cambios incrementales de datos en la base de datos original y
replicada y resuelve los conflictos de acuerdo a las reglas del administrador de la base
de datos.
Para el caso de nuestra práctica, se utilizará un solo servidor (local) para replicar los
datos. Es decir, el Publisher, el suscriptor y el distribuidor estarán alojados en la misma
máquina. La herramienta utilizada será MS SQL Server 7.0.
1. Ingrese a http://arsaavedrao.googlepages.com/arquitecturadebasesdedatos, y
descargue el archivo script.
2. Cree una nueva base de datos (Acción‐>Nueva base de datos…)
3. Haga clic en Tools‐>SQL Server Query Analizer
4. Debe aparecer de la siguiente manera (la base de datos por defecto debe ser la
que se acabó de crear, sino, cambie en la pestaña DB, por la base de datos que
se va a manejar).
5. En el analizador de consultas, haga clic en archivo‐>abrir… y cargue el archivo
colegio.sql que descargó anteriormente
6. Pulse F5, en la parte inferior de la ventana los únicos errores que deben
aparecer son los del principio del script, ya que no puede hacer drop a tablas
que no existen. Las tablas fueron creadas.
7. Cierre el analizador de consultas, y regresará al Enterprise manager de MSSQL.
Como se ve en la figura, expanda el nodo se grupo de SQL Server‐
>(local)(Windows NT)‐>Seguridad‐>Servidores remotos, debe aparecer como
en la figura: un servidor local (el de la máquina) y el repl_distributor
8. Cree una nueva base de datos, llámela practica_copia, aquí es donde ser
realizará la replicación
9. Para comenzar el proceso de replicación, haga clic en Tools‐>Replication‐
>Configure publishing and subscribers
10. Debe lanzarse el wizard respectivo
11. Utilice el distribuidor por defecto que le sugiere SQL (ya que como se dijo
anteriormente, tanto publicador como distribuidor estarán montados
localmente)
12. Saldrán dos pantallas, a ambas seleccione aceptar y siguiente y seleccione las
opciones por defecto, que es usar a la cuenta del sistema como distribuidor y
permitiendo al mismo servidor ser suscriptor de las publicaciones del
distribuidor
13. Seleccione finalizar y saldrá la siguiente pantalla de confirmación:
Donde se confirma que la cuenta local del servidor local ha sido creada como
distribuidor.
14. Confirme los dos siguientes diálogos hasta que salga el siguiente cuadro.
Ahora el replication monitor ha sido añadido al nodo principal:
15. Ahora es posible comenzar a crear publicaciones y artículos. Seleccione Tools‐
>Replication‐>Create and manage publications
16. Seleccione la base de datos Practica y presione el botón Create publication
17. Se debe abrir otro wizard, el de crear publicaciones:
18. Seleccione el tipo de replicación que se va a hacer (en este caso, seleccione
merge) y presione el botón siguiente.
19. Seleccione la opción por defecto (all) y presione el botón siguiente.
20. Seleccione la opción publish all, con esto, se publicarán todas las tablas de la
base de datos creada
21. El siguiente diálogo especifica que se añadirá a cada una de las tablas un índice
único para realizar el proceso de replicación
22. Denomine la publicación como Practica_Publicacion
23. Como toda la operación se hace localmente, no hay necesidad de definir filtros
de datos (inicialmente), entonces cree la publicación por defecto:
24. Seleccione Finalizar para crear la publicación
Debe aparecer el cuadro de publicaciones así:
25. Ahora se puede realizar una suscripción a la publicación. Presione el botón push
new subscription para crear una nueva suscripción, donde se abrirá un nuevo
wizard.
26. Haga clic en el SQL Server Group
27. Presione el botón browse databases, y luego escoja la base de datos
practica_copia, que es a la cual se le va a realizar la replicación (suscripción)
28. La siguiente opción especifica la frecuencia con la cual el agente que realiza la
replicación merge, seleccione la opción por defecto.
29. Seleccione la opción si, y marque la casilla de verificación que pregunta si se
debe iniciar el snapshot agent (otro agente de replicación) para que comience
el proceso inmediatamente
30. Seleccione la primera opción, la cual deja que el sistema resuelva la prioridad
de la publicación (esto puede ser cambiado según la política del administrador)
31. Click en el botón siguiente, los servicios serán iniciados automáticamente
Los servicios fueron iniciados y la publicación fue llevada a cabo exitosamente.
32. Finalmente, se generará el script SQL que podrá hacer la replicación en otros
equipos.
Seleccione Tools‐>Replication‐>Generate Replication Scripts
Seleccione la base de datos práctica para generar los scripts de replicación
correspondientes
ENTREGABLE
Trabajo propuesto: Con el script generado, generar otro script de replicación para una
base de datos cualquiera.
Enviar por correo a
dlacevedoc@unal.edu.co
o
arsaavedrao@unal.edu.co