Creacion de Espejos de Base de Datos

GESTION Y SEGURIDAD DE LAS BASES DE DATOS CREACION DE REFLEJO EN LAS BASES DE DATOS DESARROLLO ACTIVIDAD Para: RICARDO

Views 98 Downloads 2 File size 323KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

GESTION Y SEGURIDAD DE LAS BASES DE DATOS CREACION DE REFLEJO EN LAS BASES DE DATOS DESARROLLO ACTIVIDAD

Para: RICARDO ENRIQUE CANTILLO CARRILLO Instructor CURSO GESTION Y SEGURIDAD DE LAS BASES DE DATOS

Por: YOVANNYS CUELLO GUARDIOLA Aprendiz GESTION Y SEGURIDAD DE LAS BASES DE DATOS

Bogotá D.C. Noviembre 30 de 2015

INTRODUCCION La disponibilidad de una base de datos principalmente se puede aumentar mediante la utilización y creación de reflejo de la base de. La creación de reflejo se implementa en cada una de las bases de datos y sólo funciona con las que utilizan el modelo de recuperación completa. Los modelos de recuperación simple y de recuperación optimizado para cargas masivas de registros no admiten la creación de reflejo de la base de datos. Por lo tanto, todas las operaciones masivas se registran siempre por completo. La creación de reflejo de una base de datos funciona con cualquier nivel de compatibilidad con bases de datos.

La creación de reflejos de la base de datos mantiene dos copias de una sola base de datos que deben residir en diferentes instancias de SQL Server Database Engine (Motor de base de datos de SQL Server). Generalmente, estas instancias de servidor residen en equipos de diferentes ubicaciones. Una instancia de servidor sirve la base de datos a los clientes (el servidor principal). La otra instancia actúa como un servidor en estado de espera activa o semiactiva (el servidor reflejado), en función de la configuración y del estado de la sesión de creación de reflejo. Cuando la sesión no está sincronizada, el servidor reflejado suele estar disponible como servidor en espera activa (con posible pérdida de datos). Ventajas de la creación de reflejo de la base de datos La creación de reflejo de la base de datos es una estrategia sencilla que ofrece las siguientes ventajas: - Aumenta la protección de los datos. La creación de reflejo de la base de datos proporciona una redundancia completa o casi completa de los datos, en función de si el modo de funcionamiento es el de alta seguridad o el de alto rendimiento. Para obtener más información, vea "Modos de funcionamiento", más adelante en este tema. - Incrementa la disponibilidad de una base de datos. Si se produce un desastre en el modo de alta seguridad con conmutación automática por error, la conmutación por error pone en línea rápidamente la copia en espera de la base de datos, sin pérdida de datos. - Mejora la disponibilidad de la base de datos de producción durante las actualizaciones. Para minimizar el tiempo de inactividad para una base de datos reflejada, puede actualizar secuencialmente las instancias de SQL Server que participan en una sesión de creación de reflejo de la base de datos. Funcionamiento de la creación de reflejo de la base de datos Los dos servidores, principal y reflejado, se comunican y colaboran como asociados en una sesión de creación de reflejo de la base de datos. Los dos asociados tienen roles complementarios en la sesión: el rol principal y el rol reflejado. En cada momento, un asociado realiza el rol principal y el otro realiza el rol reflejado. Cada asociado se describe como poseedor de su rol actual. El asociado que posee el rol principal se denomina servidor principal y su copia de la base de datos es la base de datos principal actual. Cuando se implementa la creación de reflejo de la base de datos en un entorno de producción, la base de datos principal es la base de datos de producción. La creación de reflejo de la base de datos implica rehacer cada operación de inserción, actualización y eliminación que se produce desde la base de datos principal a la base de datos reflejada tan pronto como sea posible A partir de SQL Server 2008, el servidor principal comprime la secuencia de entradas del registro de transacciones antes de enviarla al servidor reflejado. Esta compresión del registro se produce en todas las sesiones de creación de reflejo.

Modos de funcionamiento Una sesión de creación de reflejo de la base de datos se ejecuta en modo sincrónico o asincrónico. Con el funcionamiento asincrónico, las transacciones se confirman sin esperar a que el servidor reflejado escriba el registro en el disco, lo que maximiza el rendimiento. Con el funcionamiento sincrónico, una transacción se confirma en ambos asociados, pero a costa de aumentar la latencia de las transacciones. Existen dos modos de funcionamiento de la creación de reflejo. Uno de ellos, el modo de alta seguridad, admite el funcionamiento sincrónico. En el modo de alta seguridad, cuando se inicia una sesión, el servidor reflejado sincroniza la base de datos reflejada con la base de datos principal lo más rápido posible. Una vez sincronizadas las bases de datos, una transacción se confirma en ambos asociados, pero a costa de aumentar la latencia de las transacciones. El segundo modo de funcionamiento, el modo de alto rendimiento, se ejecuta de manera asincrónica. El servidor reflejado intenta hacer frente a las entradas de registro enviadas por el servidor principal. La base de datos reflejada podría retrasarse ligeramente en relación con la base de datos principal.

El modo de alta seguridad con conmutación automática por error requiere una tercera instancia de servidor denominada testigo. A diferencia de los dos asociados, el testigo no sirve a la base de datos. El testigo admite la conmutación automática por error al comprobar que el servidor principal se encuentre activo y en funcionamiento. El servidor reflejado inicia la conmutación automática por error sólo si éste y el testigo permanecen mutuamente conectados después de haberse desconectado del servidor principal. En la siguiente ilustración se muestra una configuración que incluye un testigo.

Para obtener más información, vea "Conmutación de roles", más adelante en este tema.

CONFIGURACIÓN DE MODO DE ESPEJO CON TESTIGO

Lo primero que tenemos que realizar es un backup de la BBDD que queremos tener en alta disponibilidad, para esto, necesitamos comprobar que el modo de copia de seguridad tiene que estar en modo FULL. Desde el servidor en donde está ubicada la BBDD, y desde SQL SERVER Management Studio, realizaremos la exportación de la BBD y del fichero de log: backup database GruposM to Disk=”C:\BackupBBDD\GruposM.bak”; backup Log GruposM to Disk=”C:\BackupBBDD\LogGruposM.bak”; Copiamos el directorio en el servidor SQL que servirá de espejo (TSQL02), y restauraremos la BBDD y el Log. restore DataBase GruposM from Disk=”C:\BackupBBDD\GruposM.bak” with NORECOVERY;restore Log GruposM from Disk=”C:\BackupBBDD\LogGruposM.bak” with NORECOVERY; Veremos que la BBDD se queda en modo Restoring…, nos iremos al TSQL01 e inicimos el proceso de Espejo. Pulsaremos botón derecho encima de la BBDD que requiera estar en Espejo, y pulsamos en Tasks > Mirror…

Pulsamos en Configuring Security e iniciamos el Wizard de configuración de seguridad.

Como en nuestra solución vamos a incluir un testigo, vamos a indicar que SI lo vamos a utilizar

Indicamos que la configuración se va a guardar tanto en los servidores principales, como en los de Espejo y marcamos la opción de Testigo.

Tenemos que abrir en el Firewall de Windows el puerto 5022 en cada uno de los servidores de alta disponibilidad.

Al pulsar conectar, nos indicará que tenemos que realizar logon con un usuario, cambiaremos e indicaremos el usuario SA con su respectiva contraseña.

Realizamos las mismas acciones en cada uno de los servidores espejos que vamos a utilizar, indicando el nombre del servidor y pulsando en Connect… para realizar el Logon

en

el

SQL-SERVER

del

servidor.

Para el testigo, realizamos las mismas acciones que con un equipo de espejo. Indicar el nombre del servidor y pulsar Conectar para realizar el logon.

Pulsamos

Esperamos

en Finish del

a

wizard

que

que

inicie

finalic

la

configuración

la

de

Espejo.

configuración.

Mientras, podremos ver como la BBDD que hemos seleccionado para que esté en alta disponibilidad, va cambiando el estado en cada uno de los servidores espejo, el proceso

es

de

validación

de

los

ficheros

la

BBDD.

El estado final será que en Servidor Principal, veremos que la BBDD está en modo (Principal, Synchronized), y los servidores en estado Espejo, estarán en modo (Mirror, Synchronized /Restoring…)

Provando la Alta disponibilidad

Lo primero que deberemos hacer es bajarnos el Cliente Nativo para SQL-Server, en mi caso para SQL-Server 2008, para poder configurar los servidores de espejo que tiene nuestro entorno y no perder conectividad con los datos. En caso de utilizar el driver ODBC de SQL Server del sistema, sólo podremos indicar 1 servidor SQL para realizar la conexión, y en caso de Failover, deberemos configurar el ODBC para que apunte al otro servidor SQL (o crear 2 origenes ODBC).

Indicaremos información descriptiva del origen de datos que vamos a crear, y cual es el servidor principal del entorno.

CONCLUSIONES

La creación de reflejo de la base de datos de SQL Server permite mantener una copia, o reflejo, de una base de datos de SQL Server en un servidor en espera. El reflejo garantiza que en todo momento existen dos copias distintas de los datos, lo que proporciona una alta disponibilidad y una completa redundancia La gran ventaja de este método es que permite el failover automático sin intervención humana (siempre que se instale un tercer servidor witness). Se puede especificar cuándo se conecta con la aplicación el servidor de sql al que nos conectamos y un failover partner, osea un servidor mirror para que en caso de failover, la aplicación pueda reconectar automáticamente al otro servidor.

BIBLIOGRAFIA http://www.corporacionsybven.com/portal/index.php? option=com_content&view=article&id=362. http://miblogtecnico.wordpress.com/tag/sql-server-mirror-espejo-en-sql-server-mirror-ensql-server-alta-disponibilidad-en-sql-server/.