Pregunta

Nuestro caso de uso es una base de datos responsable de cuentas, sesiones, licencias, etc. & # 8212; debe sondearse al inicio del cliente, por lo que una alta confiabilidad es crucial. Como tal, nos gustaría replicar a través de diferentes servidores en redes físicamente separadas, en caso de que un centro de datos completo se caiga. He configurado con éxito una suscripción push a otro servidor en la misma red, por lo que generalmente funciona. Es la conexión a los servidores fuera de la red lo que necesito para trabajar ahora.

La replicación no funciona directamente en todas las redes. Microsoft sugiere una VPN o una replicación web . Esto último me parece ineficiente (y dicen & "; Nota: la sincronización web está diseñada para sincronizar datos con computadoras portátiles, dispositivos portátiles y otros clientes. La sincronización web no está diseñada para servidores de gran volumen de servidor a servidor aplicaciones. ")

El primero, una VPN, funcionaría, pero todavía lo considero una solución innecesariamente compleja (sin mencionar el potencial agregado de problemas de seguridad) para ejecutar continuamente una conexión VPN. Prefiero simplemente ejecutar un túnel SSH. Sin embargo, no puedo encontrar ningún artículo que explique cómo hacer esto y no se trata de MySQL.

Tengo un servidor SSH configurado en el suscriptor, y he usado PuTTY para establecer un túnel desde <publisher>:1434 a <subscriber>:1433. Sin embargo, no puedo lograr que SQL Server Management Studio se conecte de esta manera (no estoy seguro de que sea compatible con la sintaxis del puerto :). También configuré un alias en el Administrador de configuración de SQL Server de <publisher>, con @@servername de <subscriber>, apuntando a localhost:1434. Conectarse a eso tampoco parece funcionar.

Utilicé la opción de suscripción push, así que creo que el editor necesita conectarse al suscriptor, no al revés.

Ambos servidores usan la instancia predeterminada y ejecutan SQL Server 2005 SP 2 en Windows Server 2003 SP 2. El servidor SSH en el suscriptor es freeSSHd 1.2.1.

¿Es esto posible? ¿Hay otra manera de aprovechar SSH para fingir que la máquina existe dentro de la misma red? ¿O tengo que ir con una VPN?

¿Fue útil?

Solución

Cuando habla de diferentes ubicaciones para los servidores, ¿también significa diferentes dominios? Su comentario sobre la replicación web es verdadero, pero se aplica solo a los cambios diarios realizados en la base de datos. Su instantánea inicial puede ser de cualquier tamaño, incluso si se trata de una gran base de datos. Si sus actualizaciones diarias son limitadas (unos pocos miles me parecen bien), hágalo. ¡Es rápido!

EDITAR:

Hay un problema importante de dominio / seguridad cuando comienzas a pensar en intercambiar datos entre servidores. Si necesita conectar servidores que pertenecen a diferentes dominios a través de una VPN o cualquier enlace dedicado, y si no desea pasar por SQL Security (¡evítelo!), Enfrentará problemas específicos (¡y licencias!) Relacionados con la confianza del dominio . Una de las partes inteligentes de la replicación web es evitar este tipo de problema (y costo adicional) asegurando la conexión a través del protocolo https.

Otros consejos

Sé que esta es una publicación anterior, pero espero que esto ayude: SQL Server Management Studio usa una coma para separar el host del puerto.

¿Cómo se especifica un ¿Número de puerto diferente en SQL Management Studio?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top