es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Conexión de Azure SQL Managed Instance en una Máquina Virtual

Tenemos una configuración en la que nuestras aplicaciones están alojadas en una Máquina Virtual de Azure y nuestras bases de datos están alojadas en una instancia administrada de SQL. Ambas se encuentran en la misma región y en las mismas suscripciones, pero en diferentes Vnet, como se requiere para la instancia administrada de SQL.

Hemos incluido las direcciones IP en la lista blanca y abierto el puerto en el NSG tanto de la VM como de la instancia de SQL.

Somos capaces de abrir SQL en SSMS, tanto en la máquina local como en la propia VM. Pero por alguna razón, el mismo servidor no funciona cuando se agrega en la cadena de conexión.

Hemos probado tanto con los puertos 1433 y 3342.
Hemos probado con proxy frente a redirección.
También hemos probado con VNET Peering, pero nada parece funcionar, siempre obtenemos el siguiente error:

“Se produjo un error relacionado con la red o específico de la instancia al establecer una conexión con SQL Server. No se encontró el servidor o no se pudo acceder a él. Verifique que el nombre de la instancia sea correcto y que SQL Server esté configurado para permitir conexiones remotas. (proveedor: Proveedor TCP, error: 0 – Se ha producido un intento de conexión fallido porque la parte conectada no respondió adecuadamente después de un período de tiempo o se produjo un error en la conexión establecida porque el host conectado no ha respondido)”.

Nuestras aplicaciones están basadas en .Net.

Estamos trasladando nuestros servidores desde la ubicación local a Azure.

Cualquier ayuda será apreciada.

Gracias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución de problemas de problemas de conexión entre una máquina virtual de Azure y una instancia administrada de SQL

    Información de fondo

    La configuración incluye aplicaciones alojadas en una máquina virtual de Azure y bases de datos alojadas en una instancia administrada de SQL. Ambas están en la misma región, misma suscripción, pero en redes virtuales diferentes. Las IP están en la lista blanca y el puerto está abierto en NSG tanto para la VM como para la instancia de SQL. La conexión a SQL funciona en SSMS, tanto en la máquina local como en la propia VM, pero falla cuando se agrega en la cadena de conexión.

    Pasos de solución tomados

    • Se ha intentado con los puertos 1433 y 3342.
    • Se ha probado con proxy versus redirección.
    • Se ha intentado con VNET Peering.

    Mensaje de error recibido

    Se produjo un error relacionado con la red o específico de la instancia al establecer una conexión con el servidor SQL. El servidor no se encontró o no era accesible. Verifique que el nombre de la instancia sea correcto y que SQL Server esté configurado para permitir conexiones remotas. (proveedor: Proveedor TCP, error: 0 – La conexión falló porque la parte conectada no respondió correctamente después de un período de tiempo, o la conexión establecida falló porque el host conectado no respondió).

    Posibles soluciones

    1) Asegúrese de que la cadena de conexión utilizada sea correcta, con el nombre del servidor, el puerto y el nombre de la base de datos especificados.
    2) Verifique que la instancia administrada de SQL esté configurada para permitir conexiones remotas, como sugiere el mensaje de error.
    3) Verifique que la configuración de VNET Peering sea correcta y que las dos redes virtuales diferentes puedan comunicarse entre sí.
    4) Verifique las reglas de NSG para asegurarse de que los puertos correctos estén abiertos y permitidos para el tráfico entrante/saliente.
    5) Asegúrese de que la aplicación .NET esté configurada para utilizar la cadena de conexión correcta y pueda acceder a la instancia administrada de SQL.

    Esperamos que estas sugerencias ayuden a resolver el problema que está enfrentando.

Comments are closed.