sql mirroring high availability

21
Implementar SQL Mirroring 1. Instalación de 3 instancias en SQL Server las cuales harán la función de Principal, Secundario y Testigo: Instalaremos 2 instancias nombradas además de la instancia por defecto que obtenemos al instalar el SQL Developer. Ejecutamos el archivo Setup.exe de la carpeta Servers para realizar una nueva instalación desde el CD. Especificamos que será una instancia nombrada. Asi procederemos a instalar las otras instancias.

Upload: lino-estela

Post on 10-Apr-2015

309 views

Category:

Documents


0 download

DESCRIPTION

Guia de como configurar SQL para establecer un sistema de espejos en caso de fallas.

TRANSCRIPT

Page 1: SQL Mirroring High Availability

Implementar SQL Mirroring

1. Instalación de 3 instancias en SQL Server las cuales harán la función de Principal, Secundario y Testigo:

Instalaremos 2 instancias nombradas además de la instancia por defecto que obtenemos al instalar el SQL Developer.

Ejecutamos el archivo Setup.exe de la carpeta Servers para realizar una nueva instalación desde el CD.

Especificamos que será una instancia nombrada. Asi procederemos a instalar las otras instancias.

Page 2: SQL Mirroring High Availability

2. Configuracion de las Instancias en SQL :

2.1 Configuracion de Red:

Inicio. Microsoft SQL Server. Configuration Tools. SQL Server Surface Area Configuration. Click en Surface Area Configuration for Services and Connections.

Page 3: SQL Mirroring High Availability

En esta pantalla nos aseguraremos que la opción Remote Connection este habilitada y usando conecciones TCP/IP solo o con Named Pipes tanto como para la opción Database Engine como para la opción Analisys Services.

Page 4: SQL Mirroring High Availability
Page 5: SQL Mirroring High Availability

Tambien Verificaremos que la opción Service de SQL Browser este ejecutándose de lo contrario la inicializamos.

Esto lo realizaremos para cada servidor en SQL.

2.2 Configuracion que Permite Mirroring en SQL: Antes de iniciar SQL ejecutaremos en Inicio, Ejecutar (Services.msc). Detenemos el servicio de cada servidor SQL (Principal, Secundario y Testigo).

Page 6: SQL Mirroring High Availability
Page 7: SQL Mirroring High Availability

Inicializamos los servidores mediante estos comandos:

Luego en Inicio, Accesorios abrimos un Command Prompt con derechos de administrador y se ejecutaran una línea de comando por cada servidor o instancia SQL.

Si fue una instalación de instancia por defecto ejecutamos el siguiente comando (net start mssqlserver /t1400).

Si fue una instalación de instancia nombrada ejecutamos el siguiente comando (net start mssql$Seguridad /t1400).

Esto permitirá que la opción de mirroring este disponible en nuestro servidor SQL Server.

3. Configuracion de los Espejos (Mirrors):

Page 8: SQL Mirroring High Availability

Iniciamos SQL Server y levantamos cada uno de nuestros servidores.

Haremos un Espejo con una BD de prueba.

Page 9: SQL Mirroring High Availability

1. En el Servidor Principal:

USE master

go

CREATE DATABASE Prueba

go

USE Prueba

go

CREATE TABLE Tabla01(

id int PRIMARY KEY,

valor varchar(15) not null )

go

INSERT INTO Tabla01 VALUES( 1, 'AAA' )

INSERT INTO Tabla01 VALUES( 2, 'BBB' )

INSERT INTO Tabla01 VALUES( 3, 'CCC' )

go

select * from Tabla01

Page 10: SQL Mirroring High Availability

2. Hacer Full Backup y Log Backup Mediante T-SQL a la Base de Datos Creada:

BACKUP DATABASE

BACKUP DATABASE PruebaBackups

TO DISK = 'C:\Backups\Prueba.bak'

WITH FORMAT

go

LOG BACKUP

BACKUP LOG PruebaBackups

TO DISK = 'C:\Backups\Prueba.bak'

go

Page 11: SQL Mirroring High Availability

3. En el Servidor Secundario Restauramos la BD Prueba apartir del archivo de Backup ubicado 'C:\Backups\Prueba.bak':

3.1 Restauracion del Full Backup:

Click derecho sobre las bases de datos del servidor y elegimos la opción (Restore DataBase). Ponemos el mismo nombre de la base de datos (Prueba). Ubicamos el archivo de backup prueba guardado en 'C:\Backups\Prueba.bak': Marcamos la primera casilla que apunta al full backup. En la pestana opciones Le damos la ubicación donde se guardara la BD y escogemos la

opción que dice (Restore Witn NoRecovery).

Page 12: SQL Mirroring High Availability

3.2 Restauración del Log Backup:

Click derecho sobre la BD creada en serveridor 2 y poner (Task, Restore, Transaction Log.

Seleccionamos el archivo (Prueba.bak) de la ubicación C:backups. Marcamos la casilla de la primera opción. Marcamos la segunda opción (leave the database non-operational, restore with

norecovery).

Page 13: SQL Mirroring High Availability
Page 14: SQL Mirroring High Availability

4. Creando el Espejo:

Click derecho sobre la BD, task, mirror. Click botón configure security,Next, yes, next. Configurar que se indique el servidor principal, next. Configurar que se indique el servidor secundario, next. Configurar que se indique el servidor testigo, next. Luego aceptar las pantallas hasta que nos regrese a la pantalla principal. Debajo debe estar marcada la opcio (Synchronous with automatic Failover, High

Availability). En esta pantalla daremos click en start mirroring.

Page 15: SQL Mirroring High Availability
Page 16: SQL Mirroring High Availability

Al dar click en Start Mirroring :

Page 17: SQL Mirroring High Availability
Page 18: SQL Mirroring High Availability

Hacer Prueba con FAILOVER. (pasara el control al espejo como principal)

Adicional:

En el witness:

SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints

(chequea si esta configurado como witness y si esta iniciado)

Rompe el mirroring:

ALTER DATABASE <database_name> SET PARTNER OFF