Replicar bases de datos de SQL Server 2000

Print Friendly, PDF & Email

En este procedimiento se explica cómo replicar una BD de SQL Server desde un servidor a otro de forma continua. Usado para el caso de tener un backup online del servidor en caso de caida; y los usuarios puedan trabajan contra el otro servidor sin hacer mucho cambio (po ejemplo con un simple cambio de alias en los DNS’s).

El ejemplo que pongo es que en SERVER02 hay una BD (yo la voy a crear, pero se da por entendido que teneis que tener una, sino la creais y la meteis datos), lo dicho, los usuarios trabajaran contra SERVER02 y automáticamente se estará haciendo una replica de toda esa BD a otra hubicada en SERVER01.

Empezamos, lo primero es crear una BD en SERVER02 (si es que no la tenemos creada). Para ello, accedemos a Inicio > Programas > Microsoft SQL Server > Administrador corporativo. Nos situamos en nuestro servidor, en la carpeta de “Bases de datos” y con botón derecho > “Nueva base de datos…”

Le indicamos el nombre que nos de la gana a la BD.

Y opcionalmente podemos cambiar la hubicación de los archivos de BD. Si colocamos el “Archivo de datos” en diferente disco que el “Registro de transacciones” el servidor irá más rápido.

Lo mismo de arriba, si interesa se cambia el path de los archivos.

Una vez creada la BD, nos metemos a “Tablas” y creamos las que nos interese, yo para el ejemplo crearé dos tablas, una llamada “Nombres” y otra llamada “Empresas”, con tres campos cada una y además le metere unos registros para comprobar que efectivamente las tablas se me crean en el servidor de replica y los datos se sincronizan. Para ello desde “Tablas” > botón derecho > “Nueva tabla…”

Lo dicho, le metemos los campos que nos interese que tenga esa BD, y por lo menos a uno hay que hacerle clave primaria, para eso, seleccionamos el campo que nos interese y pinchamos en la llave. Luego lo guardamos pinchando en el diskett.

Y le indicamos un nombre de tabla. Aceptar.

Una vez creadas las tablas que nos apetezcan para probar. Vamos a publicar nuestra BD para que se replique en principio el servidor que interese. Para ello, desde la misma consola de SQL, “Herramientas” > “Duplicación” > “Crear y administrar publicaciones…”

Seleccionamos la BD que queremos publicar y pinchamos en “Crear publicación…”

Siguiente

Siguiente

Vale, primer aviso, si no os da mejor! esto me indica que tengo el servicio de “Agente de SQL Server” que se inicie con privilegios de “System” en vez con el de algún usuario, lo más normal SIEMPRE es haber modificado esto y haberlo puesto que lo arranque por ejemplo el administrador, así que yo lo tengo que hacer ahora. Aceptamos.

Y arriba le indico con que cuenta se iniciara el servicio, yo le indico que con el Administrador del dominio” dominio.com”, metemos la contraseña y “Aceptar”.

Además le indicamos que el servicio se inicie automaticamente con el sistema, esto es obligatorio, Siguiente.

Nos indica el path donde se guardaran todas las instantaneas de SQL para que lo demas servidores se conecten a él y obtengan la información de que tiene publicado, por defecto viene una ruta a la que se accede mediante C$ (recurso administrativo), y que sólo pueden acceder los administradores, yo he preferido compartir la carpeta onde se guardan estas y añadirle un $ para que no le vean mis usuarios de la red. Esa carpeta esta por defecto en “C:Archivos de programaMicrosoft SQL ServerMSSQLReplData”.

Seleccionamos la BD que queremos publicar, en mi ejemplo EmpresaSQL y Siguiente

Bien, este paso es importante, es el tipo de publicación que haremos, tenemos 3 opciones, en orden explicadas según mi ejemplo:
– SERVER02 replica los datos a SERVER01, pero la frecuencia de replicación deja mucho que desear.
– Indica que los usuarios trabajan contra la BD que está en SERVER02 modificandola constantemente y éste envia de forma incremental los datos a SERVER01
– SERVER02 es el que replica los datos a SERVER01, pero si alguien modifica algo en SERVER01, entonces se actualizarían estos datos en SERVER02.

Seleccionamos que tipos de servidores se nos van a conectar para replicarse la BD.

Y en esta pantalla a la derecha iremos seleccionando todas las tablas que nos interesen que se repliquen, las vamos marcando con un check. Siguiente.

Le indicamos el nombre de la publicación.

Sí y Siguiente

Esta opcion es por si queremos hacer filtros a la hora de replicar, en vez que nos replique todo el contenido de la tabla, podemos filtrar y decir que se nos repliquen sólo de la tabla “Nombres” todas las personas que se llamen Paco. Marcamos los dos checks.

Comprobar que está todo marcado, Siguiente,

Idem,

Sí permitiremos que se nos conecten servidores anonimos para la replica, para no andar con temas de permisos, si no se puede marcar la otra opcion.

Seleccionamos cada cuanto se actualizará la publicación, por si se modificase cualquier opción.

Finalizar,

…esperamos….

Cerrar.

Ok, ya tenemos la publicación creada, se ve de esa forma, desde el administrador corporativo de SQL > nuestro servidor > Monitor de duplicación > Publicadores > yo > y mi publicación.

Ahora IMPORTANTE, nos olvidamos del servidor que tiene la BD, nos colocamos en el que se le replicará la BD, en mi caso en SERVER01. Cómo véis la BD no existe en mi servidor, la de “EmpresasDB”.

Vamos a Duplicación > Suscipciones > “Nueva suscripción de extracción..” para absorver la BD y que se replique.

Siguiente

Buscamos el servidor que la tiene, cualquiera de las dos opciones es buena.

Si en este campo no viene el servidor que tiene la BD, le tenemos que registrar, pinchando en “Registrar servidor…” y ahí meterle el nombre del servidor, en mi caso SERVER02, le damos a Siguiente,

Metemos el usuario con permisos de sincronizar las BD’s

Seleccionamos a que base de datos local nos la replicará y si no la tenemos creada, la creamos pinchando en “Nueva”.

Le indicamos un nombre a la BD, un consejo es asignarle el mismo nombre, pero para que veais en el ejemplo, yo le he puesto BKP después para que no hayan confusiones.

Ahora la seleccionamos y Siguiente.

Sí, y “Siguiente”,

Por defecto esa opion es correcta.

Cada cuanto tiempo se replican los datos de SERVER02 a SERVER01, lo más lógico es “Continuamente”

Para variar me indica que mi servicio de “Agente de SQL Server” lo tengo detenido en SERVER01, le marcamos los checks y se inicia. Siguiente.

Lo mismo, que antes, le indicamos que SI, que se inicie solo cuando arranque el servidor.

FInalizar.

Esperamos a que nos diga que todo está OK y se empiece a replicar.

Aceptar.

Para comprobar que efectivamente todo se nos está replicando podremos ver que ya se nos han creado las tablas de EmpresasSQL, las mias eran la de Nombres yla de Empresas, y podemos comprobar que los datos se han replicado a este servidor también.

Ok, comprobación hecha y los datos están aqui, ahora se puede probar a meter/modificar/borrar datos de la BD de EmpresasSQL en SERVER02 y comprobar que en EmpresasSQL_BKP de SERVER01 se replican esos datos automáticamente.


Posts recomendados

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dudes en contactar conmigo, os intentare ayudar siempre que pueda, compartir es vivir ;) . Disfrutar de los documentos!!!