Professional Documents
Culture Documents
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.
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.
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
instances
GO
CREATE LOGIN LAB_SRV2_login
GO
CREATE LOGIN LAB_SRV1_login
GO
CREATE USER LAB_SRV2_user FOR LOGIN LAB_SRV2_login
GO
CREATE USER LAB_SRV1_user FOR LOGIN LAB_SRV1_login
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
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
STATS = 10
DISK = NC:\BACKUPS\DBMTest.bak
WITH
FILE = 1,
MOVE NDBMTest_log TO NC:\MSSQL\DATA\DBMTest.ldf, NORECOVERY,
FILE = 1,
NORECOVERY, NOUNLOAD, STATS = 10
GO
GO
ALTERDATABASE DBMTest SET PARTNER FAILOVER
GO
ALTERDATABASE DBMTest SET SAFETY FULL GO ALTERDATABASE DBMTest SET PARTNER FAILOVER GO