Database Mirroring es una tecnología de Alta Disponibilidad basada en un modo de funcionamiento Activo / Pasivo. Es decir, mientras una Instancia realiza un papel de Servidor Principal (Activo) para una base de datos en particular, la otra instancia realiza el papel de Servidor Espejo o Secundario (Pasivo) para dicha base de datos.

Requisitos previos

Para realizar el siguiente ejemplo necesitamos dos máquinas virtuales SQL Server 2012 Enterprise Edition . La primera instancia que en nuestro ejemplo llamaremos principal contiene la base de datos, de la cual queremos hacer el mirroring, y la instancia secundaria a la que hemos llamado mirroring está totalmente vacía.

img1

Configuración Inicial

Nos situamos en el directorio C:\Windows\System32\drivers\etc y abrimos el archivo hosts con cualquier editor de textos para editarlo.

hosts

Una vez editado el archivo hosts en el servidor principal mirroring comprobamos que tengan ping con sus respectivos nombres de máquina. Para hacer la comprobación abrimos el CMD y ejecutamos los siguientes comandos: ping principal ping mirroring.

Creación de Certificados

El primer paso a seguir es crear los certificados correspondientes en cada instancia SQL Server, para que las dos bases de datos puedan enviar y recibir datos cifrados y puedan descifrarlos para su correspondiente tratamiento.

Creación de conectores del servicio

Creamos un EndPoint en cada servidor y le asignamos su certificado, esto nos permitirá utilizarlos para establecer la trasferencia de datos de forma segura.

Enlace de certificados

Una vez creados los certificados de cada base de datos y los EndPoint, procederemos a enlazar el certificado de la base de datos de mirroring, con la base de datos principal y viceversa. Gracias a esto, las bases de datos podrán enviarse datos cifrados entre ellas y podrán descifrarlos.

Copiamos los ficheros de los certificados en ambos servidores, es decir el Cert_mirroring en el servidor principal y el Cert_principal en el servidor mirroring.

Mirroring_img2

Una vez copiados los certificados, ejecutamos el siguiente script:

Activación del Reflejo

En el servidor principal realizamos una copia de seguridad completa de la Base de datos y una copia de seguridad del Log de transacciones.

Copiamos los ficheros de backup en el servidor mirroring y restauramos las base de datos en modo NO RECOVERY.

Activamos en el servidor mirroring el reflejo añadiéndolo como partner.

Activación Mirroring

Para finalizar nos situaremos en la instancia principal y seguiremos los siguientes pasos:

img4

Botón derecho sobre la base de datos principal -> Tasks -> Mirror…

Mirroring_img5

Configure Security…

Mirroring_img6

Include Witness Server -> No

Mirroring_img7

Por defecto aparecerán los siguientes parámetros.

Mirroring_img8

Le damos a connect, y hacemos loggin contra la instancia mirroring y nos rellenará el Listner port y Endpoint name.

Mirroring_img9

En principal añadimos la cuenta Domain Contoller del servidor principal y en mirror la del servidor de mirroring.

Mirroring_img10

Le damos a Start Mirroring

Una vez iniciado,  las bases de datos deben aparecer con los siguiente estados:

Mirroring_img11

Instancia Principal (Principal, Synchronized) Instancia Mirroring (Mirror, Synchronized / Restoring…)

Recent Posts

Leave a Comment