Problemas en conexiones remotas a servidores de SQL Server

Recientemente he tenido problemas para establecer una conexión remota a un servidor SQL Server 2012 de mi red. La conexión estaba bien definida, los puertos estaban abiertos, el server permitía conexiones remotas y, sin embargo, no había manera de conectar desde otra máquina, con SQL Server Management Studio, por ejemplo.

Después de mucho revisar descubrí que el problema venía de las opciones de configuración de red de SQL Server, que no estaban bien definidas en el servidor. Lo apunto aquí por si le pasa a alguien más. En mi caso tenía deshabilitado el protocolo 'Canalizaciones con nombre', y ha de estar habilitado, y en las propiedades del protocolo TCP/IP faltaba incluir la IP del servidor, y el puerto TCP, normalmente el 1433.

Todo esto se configura abriendo el 'Administrador de configuración de SQL Server' o  'SQL Server Configuration Manager' desde el menú de aplicaciones de Microsoft SQL Server, subcarpeta 'Herramientas de configuración'.

Como una imagen vale más que 1.000 palabras, esta es la captura de pantalla de la configuración que me ha resuelto el problema de conexión remota a SQL Server.

Protocolos de red para SQL Server

Configuración de propiedades TCP/IP para conexión remota con SQL Server

Espero que sirva de ayuda!

 

Muy buenas noches,

Anteriormente yo tuve el mismo problema, solo que en mi caso y, al utilizar un equipo con Windows, tuve que hacer una configuración adicional en el "Firewall de Wondows". El cual consistia en generar una regla de entrada y una regla de salida con el puerto 1433. El procedimiento es el siguiente:

  • Hay que entrar en Panel de Control - Firewall de Windows.
  • Después situarse en configuración avanzanda.
  • Seleccionamos la opción de regla de entrada/Nueva regla.
  • Dentro de la ventana que aparece (Tipo de regla) seleccionamos "Puerto" y le damos siguiente.
  • Apare la ventana con titulo "Protocolo y puertos", aquí se deja la opción de TCP seleccionada y escribimos el mismo puerto que se habilito en 'Administrador de configuración de SQL Server", es decir, el 1433 y damos siguiente.
  • Se selecciona permitir la conexión y se da siguiente.
  • El siguiente  punto o ventana que aparece es Perfil se deja como esta y se presiona "Siguiente".
  • Posteriormente pide se asigne un nombre al puerto, en mi caso le puse "SQL Giro", que es el sistema de nóminas con el que estamos trabajando.
  • Por último damos en finalizar.
  • Ahora tenemos que ir al apartado de "Reglas de salida" y damos de nueva cuenta "Nueva Regla" e iniciamos con los mismos pasos antes mencionados.

De esta manera yo desde mi lugar de trabajo, el cual esta en otra oficina aunque en el mismo edificio pude acceder a la Base de Datos de SQL Server, aunque en nuestro caso es 2008.

Hay otra opción que te pudiera recomendar, el cual es mediante una NoIP realizar la triangulación de acceso a tu servidor, pero para ello se debe de hacer una configuración previa en el router que se utiliza y conectarte por ejemplo desde tu casa.

 

Para que quede un poco mas claro lo anterior, pongo un tutorial donde viene explicado lo que menciona Carlos y la configuración adicional que les comento.

Video:

 

Saludos.

Martín Flores.

En respuesta a por Martín Flores

Gracias por tu aportación Martín.

Aprovecho para añadir que, aunque no es lo habitual, si en un mismo servidor se instala más de una instancia de SQL Server el servicio 'SQL Server Browser' ha de estar habilitado, ya que este servicio dirige las conexiones entrantes hacia el puerto correspondiente según la instancia de la conexión.

Tener SQL Server Browser deshabilitado es otra posible causa de error de conexión remota en servidores con varias instancias de SQLServer. Este servicio también necesita disponer de un puerto UDP abierto en el firewall, por defecto el 1434.

Saludos!