Published on

January 25, 2013

Comprendiendo la configuración de espejo de SQL Server y los puertos

El espejo de SQL Server es una solución de alta disponibilidad que te permite crear una copia redundante de tu base de datos en otro servidor. Esto asegura que si un servidor falla, el otro servidor puede tomar el control y seguir sirviendo la aplicación sin ningún tiempo de inactividad. Sin embargo, hay algunos conceptos y configuraciones importantes que debes entender al configurar el espejo de SQL Server.

Configuración de puertos

Al configurar el espejo de SQL Server, es importante configurar los puertos apropiados para la comunicación entre los socios de espejo. Por defecto, el espejo de SQL Server utiliza el puerto TCP 5022 para la comunicación. Sin embargo, si tienes múltiples instancias en la misma instalación del servidor, el número de puerto aumentará para cada socio de espejo adicional.

Se recomienda utilizar una tarjeta de interfaz de red (NIC) dedicada para el espejo para optimizar el rendimiento. Además, puedes establecer permisos en cada punto final para controlar los tipos de conexiones permitidas.

Edición Enterprise y instantáneas

Para utilizar Reporting Services en la copia espejo, necesitas tener la edición Enterprise de SQL Server y habilitar las instantáneas. Las instantáneas te permiten crear copias de solo lectura de la base de datos con fines de informes. Esto puede ser útil para descargar cargas de trabajo de informes del servidor principal.

Seguridad y autenticación

Al configurar el espejo, no puedes utilizar una cuenta local. En su lugar, puedes utilizar certificados con cifrado simétrico/asimétrico para la autenticación. El cifrado asimétrico implica generar un par de claves, donde la clave privada se utiliza para el descifrado y la clave pública se utiliza para el cifrado. Estas claves se pueden utilizar para la autenticación en lugar de una cuenta de servicio de dominio.

Limitaciones y consideraciones

Es importante tener en cuenta las limitaciones y consideraciones al utilizar el espejo de SQL Server. Por ejemplo, la función Filestream no es compatible con el espejo, por lo que si dependes de esta funcionalidad, es posible que debas reconsiderar su uso en una solución de alta disponibilidad.

Además, la edición Standard de SQL Server tiene algunas limitaciones en comparación con la edición Enterprise. La edición Standard solo admite el espejo síncrono, no admite instantáneas y tiene operaciones de rehacer más lentas debido a que es de un solo subproceso.

Si estás utilizando el modo de alto rendimiento, no es necesario tener un servidor testigo. Sin embargo, si deseas habilitar el failover automático, necesitas tener el modo de alta seguridad/síncrono y un servidor testigo.

Ejemplo de script de configuración de espejo

Aquí tienes un ejemplo de script para configurar el espejo de SQL Server:

-- Crear puntos finales en los servidores principal, espejo y testigo
CREATE ENDPOINT Mirroring STATE = STARTED AS TCP (LISTENER_PORT = 5022) FOR DATABASE_MIRRORING(ROLE = PARTNER);
CREATE ENDPOINT Mirroring STATE = STARTED AS TCP (LISTENER_PORT = 5023) FOR DATABASE_MIRRORING(ROLE = PARTNER);
CREATE ENDPOINT Mirroring STATE = STARTED AS TCP (LISTENER_PORT = 5024) FOR DATABASE_MIRRORING(ROLE = WITNESS);

-- Crear inicios de sesión en cada servidor para las otras dos partes
CREATE LOGIN [SQL2008Admin\svcSQL_Montreal] FROM WINDOWS;
CREATE LOGIN [SQL2008Admin\svcSQL_Ottawa] FROM WINDOWS;
CREATE LOGIN [SQL2008Admin\svcSQL_Toronto] FROM WINDOWS;

-- Conceder permiso de conexión en cada punto final para los inicios de sesión de los otros servidores
GRANT CONNECT ON ENDPOINT::Mirroring TO [SQL2008Admin\svcSQL_Montreal];
GRANT CONNECT ON ENDPOINT::Mirroring TO [SQL2008Admin\svcSQL_Ottawa];
GRANT CONNECT ON ENDPOINT::Mirroring TO [SQL2008Admin\svcSQL_Toronto];

Recuerda ajustar el script según tu configuración y requisitos específicos.

Conclusión

El espejo de SQL Server es una potente solución de alta disponibilidad que puede ayudar a garantizar la disponibilidad de tu base de datos en caso de fallo del servidor. Al comprender los conceptos y configuraciones involucrados en el espejo de SQL Server, puedes configurar una solución sólida y confiable para tu aplicación.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.