Está en la página 1de 7

Espejeo

Mirroring
Maestro: Roci Del Carmen Parra Torres Alumno: Felipe De Jess Alemn Torres ISIC 6

Espejeo (mirroring)
Se conoce como copia espejo (en ingls data mirroring) al procedimiento de proteccin de datos y de acceso a los mismos en los equipos informticos implementado en la tecnologa de RAID1. Consiste en la idea bsica de tener dos discos duros conectados. Uno es el principal y en el segundo se guarda la copia exacta del principal, almacenando cualquier cambio que se haga en tiempo real en las particiones, directorios, etc., creando imgenes exactas, etc. De esta forma se consigue tener 2 discos duros idnticos y que permiten, si todo est bien configurado, que ante el fallo del disco principal, el secundario tome el relevo, impidiendo la cada del sistema y la prdida de los datos almacenados. Aplicado a los servidores, sirve para tener la imagen de una pgina o sitio web en diferentes servidores de manera que siempre haya una copia online por si el servidor principal falla. 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 cul de 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 configuracin 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 Compaeros (Partners).

Como

crear

un

Mirror

(espejo)

SQL

Server

2005

Nuestra situacin son dos sedes unidas mediante VPN, con dos servidores Windows 2003, ambos tienen SQL 2005, y forman parte del mismo dominio. Lo primero es llevar a cabo un cambio de la forma en la que se gestiona la BD de simple a FULL. Para ello abrimos nuestro SQL Management Studio --> Sobre nuestra BD botn derecho propiedades --> Opciones elegimos modelo de recuperacin Completo. Siguiente paso hacemos un Backus de la BD de en forma FULL que enviamos a nuestro Server 2, una vez all y en el SQL Management Studio, procedemos a restaurar, sobre el servidor elegimos restaurar BD le ponemos el mismo nombre que tiene la BD en el Server1, y el las opciones elegimos Restore Wirh Norecovery. Despus de unos segundos la BD se nos queda en estado restoring, esperando a que el server1 comience el envi de datos. Ahora sobre el server2 y la bd elegida le damos botn derecho --> tareas --> espejo (Mirror) y veremos algo como lo siguiente. Aqu le damos al botn de configure security que nos guiara en una serie de pasos para configurar la seguridad de nuestro mirror.La primera pantalla nos pregunta si vamos a trabajar con un witness en nuestro caso es que no, as que lo marcamos y le damos a siguiente. Ahora la siguiente pantalla es la del servidor principal que aparece configurada por defecto. Seguidamente tenemos que configura nuestro servidor mirror.Cuando le debemos a connect, no ser necesario cambiar ningn parmetro. Aunque en este punto se nos produjo los siguientes errores Link error 233 y error 1418 Ya finalizamos y le damos a start mirroring, y la base de datos del server1 cambiar a estado restaurando.

Cmo hacer DB mirroring utilizando certificados?

A continuacin facilitamos un mtodo de puesta a punto de Mirroring de Base de Datos en SQL Server 2008 R2. Las sentencias a ejecutar se encuentran organizadas por orden secuencial (o cronolgico) de ejecucin y clasificadas entre el servidor principal (o mster) y el de mirroring (o reflejo de Base de Datos). Siguiendo los pasos estipulados en la tabla siguiente podr configurar un sistema de DB Mirroring de SQL Server 2008 (R2). Tenga en cuenta que es probable que su instalacin de SQL Server o que su Base de Datos difiera del sistema estndar que comentamos. Recomendamos primero que comprenda el porqu de todos los pasos explicados a continuacin y luego los aplique bajo su criterio segn los requisitos de sus sistemas.

Principal Prepare instances


Create database master key, if needed If you want or need to delete the data base master key Make certificates
USE master USE master

Mirror
GO
CREATE MASTER KEY ENCRYPTION BYPASSWORD = <s

GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD= <s

trong password>
GO USE master

trong password>
GO USE master

GO
DROP MASTER KEY

GO
DROP MASTER KEY GO

GO

USE master

USE master

GO
CREATE CERTIFICATE LAB_SRV1_cert

GO
CREATE CERTIFICATE LAB_SRV2_cert WITH SUBJECT

WITH SUBJECT = LAB-SRV1 certificate If you want or need to delete certificates Create mirroring endpoint
GO USE master

= LAB-SRV2 certificate
GO USE master

GO
DROP CERTIFICATE LAB_SRV1_cert GO USE master

GO
DROP CERTIFICATE LAB_SRV2_cert GO USE master

GO
CREATE ENDPOINT Endpoint_Mirroring

GO
CREATE ENDPOINT Endpoint_Mirroring

STATE = STARTED AS TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING( AUTHENTICATION = CERTIFICATE LAB_SRV1_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL ) If you want or need to delete endpoint Backup certificates
GO USE master

STATE = STARTED AS TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING( AUTHENTICATION = CERTIFICATE LAB_SRV2_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL )
GO USE master

GO
DROP ENDPOINT [Endpoint_Mirroring] GO USE master

GO
DROP ENDPOINT [Endpoint_Mirroring] GO USE master

GO
BACKUP CERTIFICATE LAB_SRV1_cert

GO
BACKUP CERTIFICATE LAB_SRV2_cert

TO FILE = C:\BACKUPS\LAB_SRV1_cert.cer
GO

TO FILE = C:\BACKUPS\LAB_SRV2_cert.cer
GO Use any secure copy method

Copy certificates between

Use any secure copy method

instances

Configure inbound connections


Create logins
USE master USE master

GO
CREATE LOGIN LAB_SRV2_login

GO
CREATE LOGIN LAB_SRV1_login

WITH PASSWORD = <strong password> Create user for login


GO USE master

WITH PASSWORD = <strong password>


GO USE master

GO
CREATE USER LAB_SRV2_user FOR LOGIN LAB_SRV2_login

GO
CREATE USER LAB_SRV1_user FOR LOGIN LAB_SRV1_login

GO Associate the certificate with the user


USE master

GO
USE master

GO
CREATE CERTIFICATE LAB_SRV2_cert AUTHORIZATION LAB_SRV2_user FROM FILE

GO
CREATE CERTIFICATE LAB_SRV1_cert AUTHORIZATION LAB_SRV1_user FROM FILE

Grant CONNECT permission at login for the remote mirroring endpoint Create database

= C:\BACKUPS\LAB_SRV2_cert.cer GO USE master GO GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [LAB_SRV2_login] GO


CREATE DATABASE [DBMTest] ON PRIMARY (NAME =

= C:\BACKUPS\LAB_SRV1_cert.cer GO USE master GO GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [LAB_SRV1_login] GO

Prepare database
NDBMTest, FILENAME = NC:\MSSQL\DATA\DBMTest.mdf) LOG ON (NAME = NDBMTest_log , FILENAME =NC:\MSSQL\DATA\DBMTest_log.ldf) GO
USE [DBMTest]

GO
CREATE TABLE [dbo].[TTest](

[ID] [int] IDENTITY(1,1) NOT NULL, [DayAndTime] [datetime] NOT NULL ) GO BACKUP DATABASE [DBMTest] TO DISK = NC:\BACKUPS\DBMTest.bak WITH NOFORMAT,
INIT,

Backup database

NAME = NDBMTest-Full Database Backup,


SKIP, NOREWIND, NOUNLOAD,

STATS = 10

GO Backup transaction log


BACKUP LOG [DBMTest] TO DISK = NC:\BACKUPS\DBMTest_log.bak WITH NOFORMAT, INIT,

NAME = NDBMTest-Transaction Log Backup,


SKIP, NOREWIND, NOUNLOAD,

STATS = 10 GO Restore database


RESTORE DATABASE [DBMTest] FROM

DISK = NC:\BACKUPS\DBMTest.bak
WITH

FILE = 1,
MOVE NDBMTest_log TO NC:\MSSQL\DATA\DBMTest.ldf, NORECOVERY,

NOUNLOAD, STATS = 10 GO Restore transaction log


RESTORE LOG [DBMTest]

FROM DISK = NC:\BACKUPS\DBMTest_log.bak


WITH

FILE = 1,
NORECOVERY, NOUNLOAD, STATS = 10

GO

Configure the mirroring partners and start mirroring


First, on the mirror instance
ALTER DATABASE DBMTest

SET PARTNER = TCP://LAB-SRV1:5022 GO


ALTER DATABASE DBMTest

And then, on the principal instance

SET PARTNER = TCP://LAB-SRV2:5022 GO

Configure performance and safety mode


High
ALTER DATABASE DBMTest SET

performance (asynchrono us mode) High safety (synchronou s mode)

PARTNER SAFETY OFF GO


ALTER DATABASE DBMTest SET

PARTNER SAFETY FULL GO

Managing database mirroring


Pause mirroring Resume mirroring Manual failover (asynchrono us mode) Manual failover (synchronou s mode) Remove database mirroring
ALTER DATABASE DBMTest SET PARTNER SUSPEND ALTER DATABASE DBMTest SET PARTNER RESUME ALTERDATABASE DBMTest SET SAFETY FULL

GO
ALTERDATABASE DBMTest SET PARTNER FAILOVER

GO
ALTERDATABASE DBMTest SET SAFETY FULL GO ALTERDATABASE DBMTest SET PARTNER FAILOVER GO

ALTER DATABASE DBMTest SET PARTNER OFF