Realizar ejercicio de activación de espejeo de datos en
un SGBD
¿Qué es Espejeo?
Es una configuración donde dos o tres servidores de dase
de datos, ejecutándose en equipos independientes, cooperan para mantener copias
de la base de datos y archivo de registro de transacciones (log).
Tanto el servidor primario como
el servidor espejo mantienen una copia de la base de datos y el
registro de transacciones, mientras que el tercer servidor, llamado
el servidor árbitro, es usado cuando es necesario determinar cuál de los
los otros dos servidores puede tomar la propiedad de la base de datos. El
árbitro no mantiene una copia de la base de datos. La configuración de los tres
servidores de base de datos (el primario, el espejo y el árbitro) es llamado Sistema
Espejo (Mirroring System), y el servidor primarioy espejo juntos son llamados
Servidores Operacionales (Operational Servers) o Compañeros (Partners).
Beneficios del espejeo de Datos en un DBMS.
-La gran ventaja de este método es que permite el
failover automático sin intervención humana (siempre que se instale un tercer
servidor witness) es decir el proceso de restaurar un sistema al existir un
error.
-Al crear un mirror se tiene una base de datos de
respaldo.
Recomendaciones:
En la base de datos Mirroring debe estar en recuperación
no recovery.
El firewall debe permitir los puertos usados.
Ver que los protocolos TCP IP están habilitados con el
SQL Server Configuration Manager.
Pasos para realizarl el Espejeo.
Database Mirroring aparece en la versión 2005 y es
la evolución de Log Shipping. Tal como su nombre lo indica, sirve para
tener una base de datos “espejada” en otro servidor. Puede trabajar de 3
Formas:
De foma más simple, la principal diferencia entre la
configuración síncrona o asíncrona es:
De modo síncrono, el servidor principal espera a que
las transacciones hagan commit en el servidor espejo para poder continuar.
De modo asíncrono, el servidor principal trabaja sin
esperar al secundario.
Algunas diferencias entre LogShipping y Mirroring (Hay
muchas más, pero aquí están las que más me llaman la atención):
Database Mirroring es capaz de configurar una conexión
segura entre ambos puntos.
Database Mirroring provee la capacidad de hacer failover
automático.
Log Shipping no hace ninguna de las dos anteriores.
Para configurar Database Mirroring se puede hacer a
través del asistente o se puede hacer a través de instrucciones en t-sql. En
este caso, utilizaremos el asistente para ahorrar tiempo.
Antes de partir la configuración nos debemos asegurar que
la base de datos esté en modo de recuperación Full y debemos crear un
respaldo de la base de datos del servidor primario y restaurarla con la
opción WITH NORECOVERYen el servidor que será espejo.
Esta configuración requiere algunas configuraciones en el
firewall de ambos equipos. En el servidor principal y en el espejo se debe
abrir el puerto TCP 5022. Ahora, si se decide usar otro puerto, hay que estar
seguro que el puerto está disponible y se puede abrir para las conexiones.
Una vez que se tiene la configuración previa lista, se
hace el asistente que permitirá configurar el mirroring
Abrir asistente
En la ventana principal se debe iniciar el asistente
Ventana Principal
Se inicia el asistente
Inicio del asistente
Se puede o no configurar un testigo. El testigo servirá
para poder tener un failover automático. En este artículo no configuraré
un testigo.
Configuracion del testigo
Configuración del equipo principal. Se puede cambiar el
puerto (pero recuerden que ya habíamos abierto el puerto 5022). Además, se
puede seleccionar si se quiere cifrar o no la conexión.
Configuracion del primario
Para la configuración del secundario es necesario
conectarse antes (recordar abrir el puerto 1422 en el secundario). La ventana
de configuración es exactamente igual al primario.
Configuracion del Secundario
El servicio debe estar configurado con una cuenta de
dominio. Se debe indicar la cuenta del servicio del servidor primario y del
espejo.
Cuentas de servicio
Para Finalizar:
Finalizar
Al momento de finalizar, se inicia el proceso de
configuración del mirroring. Si aparece este mensaje, es porque está todo bien
Progreso de Configuracion
Al terminar el asistente, aparecerá una ventana así en la
cual nos preguntará si queremos iniciar Mirroring al tiro o no. En mi caso,
no configuré el testigo, por lo que no activaré el mirroring para hacer
una configuración antes de partir.
Antes de comenzar el mirroring, lo configuré como
asíncrono y luego inicié el mirroring
Mirroring Funcionando
Si por algún motivo, te aparece el error 1478 cuando
echas a andar el mirroring, es porque debes respaldar el transaction log del
servidor primario y luego tienes que hacer un restore with norecovery en el
servidor espejo. Luego de eso, ya puedes echar a andar el mirroring.
Equipo:
Chavez Atienzo Edgar Omar
Gutiérrez García Cecilia Valeria