Académique Documents
Professionnel Documents
Culture Documents
Reporte
Reflejo en
SQL
Server
2012
Base de datos
EmpresaABD
1
INTRODUCCIÓN
2
DESARROLLO
¿QUÉ ES EL REFLEJO DE BASES DE DATOS?
El reflejo de bases de datos SQL Server es una técnica de recuperación de
desastres y alta disponibilidad que involucra dos instancias SQL Server en la
misma o en diferentes máquinas. Una instancia SQL Server actúa como una
instancia primaria llamada la principal, mientras que la otra es una instancia
reflejada llamada reflejo. En casos especiales, puede haber una tercera
instancia SQL Server que actúa como testigo.
Ejemplos de implementación
Una de las configuraciones comunes de reflejo es el ambiente con dos SQL
Servers (SQLServer-1 y SQLServer-2), dos instancias (SQLIntance-1 y
SQlInstance-2) y una base de datos reflejada llamada SQLDB-1.
Alta seguridad – Los datos son escritos y enviados en las bases de datos
principal y reflejada de manera síncrona. Sólo después de enviar los datos
a ambas bases de datos, la aplicación de la base de datos puede
continuar con actividad.
o Puede producir retraso y operaciones más lentas porque las
transacciones deben ser enviadas en ambas bases de datos
o Si la base de datos principal deja de funcionar, hay dos opciones
disponibles:
No hacer nada – esperar a que la base de datos principal vuelva a estar
disponible. Durante este tiempo, la instancia SQL Server no está
disponible. El reflejo continuará donde paró.
Forzar a la instancia SQL Server en la base de datos reflejada – la base
de datos reflejo se convierte en la principal. Es posible que haya pérdida
de datos debido a las transacciones enviadas en la base de datos original
que no han sido enviados todavía al reflejo actualmente actuando como
la base de datos principal.
Alta seguridad con conmutación automática por error – Estos servidores
son necesarios. Los datos son escritos y deben ser enviados de manera
síncrona a las bases de datos principal y reflejo. Sólo después de enviar
los datos a ambas bases de datos, la aplicación puede continuar
corriendo.
o Puede producir retraso y operaciones más lentas debido a que las
transacciones deben ser enviadas a ambas bases de datos.
o Si la base de datos principal deja de funcionar, sólo una opción está
disponible:
Dejar que el proceso de la conmutación automática por error se complete,
la base de datos reflejo se convierte en la principal
4
Alto desempeño – la comunicación asíncrona, los datos son escritos y
enviados al servidor principal y luego enviados al servidor reflejo. La
conmutación automática por error no es posible y el servidor testigo no
puede ser usado
o El modo de alto desempeño está disponible sólo en la edición Enterprise
de SQL Server
o SI la base de datos principal deja de funcionar, tres opciones están
disponibles:
No hacer nada – esperar a que la base de datos principal esté disponible
de nuevo. El SQL Server no está disponible. El proceso de reflejo
continuará donde paró
Forzar la instancia SQL Server en la base de datos reflejo – la base de
datos reflejo se vuelve la principal. Gran posibilidad de pérdida de datos
debido a la comunicación asíncrona entre las bases de datos
Actualización manual – para reducir la pérdida de datos, tome la cola de
la copia de seguridad del registro si el server fallado lo permite, remueva
el reflejo y restaure la cola del registro en la base de datos previamente
reflejada.
El reflejo de bases de datos será removido desde SQL Server en versiones futuras en
favor de AlwaysOn Availability Groups. También, el reflejo de bases de datos es una
solución sólo por cada base de datos, lo cual significa que los inicios de sesión y tareas
desde el principal SQL Server deben ser manualmente recreados en el reflejo. También
hay posibilidad para retraso, lo cual sólo puede ser reducido con mejor hardware.
5
PREPARANDO LA CONEXIÓN
1. Todos los SQL deben estar usando la misma edición en este caso fue
"Developer" SQL Server 2012 con instancia MSSQLSERVER.
2. Todas las cuentas de Windows deben tener el mismo nombre (en este
caso ‘Antonio’) y la misma contraseña (en este caso ‘barato’) para hacer
uso de la autenticación de Windows.
3. Debemos crear una red LAN (Grupo de trabajo, IP’s) (en este caso
EMPRESA) y verificar la visibilidad entre equipos (red privada, es decir
que todos los equipos se vean en el grupo de trabajo y se puedan dar ping
efectivamente desde la ventana de comandos).
Nota: Si estás en un equipo con dos usuarios Windows, debes verificar que la
cuenta "Antonio" sea un administrador. Hacer los pasos anteriores en todos los
6
servidores.
PREPARANDO SQL SERVER EN VERSIÓN 2012
SERVICE PACK 1
1. Primero se configura el SQL Server Browser, cambiar el modo de inicio
de modo manual a automático.
IP10
7
Activo
Habilitado
IP del equipo
Puerto Dinámico 1433
Puerto Estático 1433
Nota: puede ser el caso que la inmediata siguiente de IP1 sea IP2, en ese caso
IP2
Activo
Habilitado
IP del equipo
Puerto Dinámico 1433
Puerto Estático 1433
IPALL
Dinámicos 1433
TCP Puertos 1433
8
3. Debemos configurar en el SQL Configuration Manager
3.1 Servicios de SQL Server
3.2 SQL Server(Nombreinstancia)
3.3 Propiedades
3.4 Inicio de sesión
3.5 Esta cuenta
3.6 Buscar el nombre de la cuenta de Windows (Antonio)
3.7 Buscar nombre 9
3.8 Asignar la contraseña del usuario (esto debe hacerse en los tres
servidores)
11
5. Se hace lo mismo para la regla de entrada para el puerto 5022 que es el
puerto que permite el flujo de intercambio de datos entre instancias en red
SQL y reglas de salida con las mismas características
6. Verificar que la instancia permite conexiones entrantes al servidor desde
SQL Server Management Studio
6.1 Nos dirigimos a seguridad de la instancia
6.2 Inicio de sesion
6.3 Agregamos un nuevo inicio de sesion
6.4 Buscar
6.5 Buscamos el nombre del usuario de Wwindows
6.6 Comprobar nombres
6.7 Debe mantenerse marcada la autenticación de Windows
6.8 Roles de servidor
6.9 dbcreator, public y sysadmin
6.10 Asignación de usuarios (master), en roles de la base de datos
datareader, datawritter, owner, public
6.11 Aceptar y volvemos a las propiedades del inicio de sesión creado
6.12 Elementos protegibles (seleccionar el servidor)
6.13 Conectar SQL, modificar cualquier base de datos, ver cualquier
base de datos, ver el estado del servidor.
12
7. Verificar que la instancia (de cada equipo) se conecta consigo misma
mediante la IP fija para verificar que el inicio de sesión en red está
correcto.
(reiniciar el equipo)
16
REFERENCIAS
17