Después de la instalación de Microsoft SQL Server en un servidor Windows, por defecto no permite conexiones remotas a la base de datos. Por ello es necesario habilitar el protocolo TCP/IP sobre la dirección IP de la interfaz del servidor. Después de activarlo, asignarle un puerto para el proceso (por defecto se establecerá en puertos dinámicos) y posteriormente también será necesario configurar los cortafuegos para no filtrar las conexiones.
Advertencia
Puede suponer un problema grave de seguridad permitir la conexión pública al SQL Server, por lo tanto, te recomendamos utilizar una conexión VPN (ejemplo Cómo configurar OpenVPN Server con pfSense). De esta forma, será posible activar el puerto TCP/IP por la interfaz de la red privada para la conexión y tendrá el cifrado adicional del túnel establecido. Una alternativa para configurarlo por la interfaz pública, es filtrar en el Firewall mediante una regla especifica para las determinadas direcciones IP que deban tener acceso al SQL Server.
Procedimiento
Primero deberás acceder al SQL Server Configuration Manager, en el apartado SQL Server Network Configuration > Protocols for [VersiónSQL], te aparecerá la lista de protocolos, haz clic derecho en TCP/IP y de nuevo haz clic en Enable para activarlo.
Luego repite la misma acción pero haciendo clic en Properties, abrirá una nueva ventana y en su pestaña IP Addresses, en la casilla Enabled actívalo seleccionando Yes en la interfaz deseada. Adicionalmente elimina el valor de TCP Dynamic Ports y introduce el puerto deseado en TCP Port (el puerto por defecto para es el TCP 1433 para Microsoft SQL Server). A continuación tienes un ejemplo de configuración para la interfaz de red pública:
También es posible modificarlo de forma global para todas las interfaces en el apartado IPAll de la misma ventana, estableciendo el número de puerto deseado en TCP Port:
Una vez realizada estas acciones, será necesario reiniciar el servicio para efectuar los cambios realizados y puedes realizarlo desde el mismo SQL Server Configuration Manager. En el apartado SQL Server Services, haciendo clic derecho en el servicio en cuestión, tendrás la opción Restart en el menú despegable para reiniciar el servicio como aparece en la siguiente captura de pantalla:
Comprobaciones
Para comprobar el funcionamiento del protocolo y verificar el estado del puerto puedes ejecutar la siguiente instrucción:
netstat -onaf | findstr 1433
Como en la captura de pantalla siguiente, debe aparecer el puerto en estado LISTENING y en el caso de haber conexiones también deberían de aparecer:
Luego verifica desde el equipo final si tiene acceso al puerto, en caso negativo verifica de nuevo las reglas de Firewall de Windows y del Firewall panel de Clouding (Cómo crear una regla de firewall).