Published on

September 3, 2025

Gestión de la configuración de puertos de SQL Server

Problema: Pueden ocurrir problemas de conexión después de un failover si su instancia de SQL Server tiene configurados tanto puertos estáticos como dinámicos. Además, la gestión de las reglas del firewall se vuelve más fácil al utilizar un solo puerto estático.

Solución: Para solucionar problemas de conexión con puertos dinámicos, debe eliminar la entrada del puerto dinámico, incluido el cero en la configuración de direcciones IP para la instancia. Reinicie la instancia de SQL Server y, si es un clúster, realice un failover y vuelva a fallarla.

Paso 1 – Verificar si SQL Server está utilizando tanto puertos estáticos como dinámicos

Ejecute el siguiente código T-SQL para ver si tiene alguna conexión activa que utiliza tanto puertos estáticos como dinámicos:

SELECT distinct @@SERVERNAME as [Instancia], local_tcp_port
FROM sys.dm_exec_connections 
WHERE local_tcp_port is not null

Si el resultado incluye un puerto dinámico (por ejemplo, 49981), debe ajustar la configuración del puerto.

Paso 2 – Descubrir los nodos en los que se hospeda la instancia

Si su instancia se encuentra en un clúster de Windows, abra el Administrador de clústeres de failover y vaya a Administrador del servidor > Características > Administrador de clústeres de failover. Utilice el siguiente código T-SQL para mostrar el nombre del nodo activo para una instancia:

Select @@servername as [Nombre de la instancia], SERVERPROPERTY('ComputerNamePhysicalNetBIOS') as 'Nodo'

Paso 3 – Ajustar la configuración del puerto TCP con el Administrador de configuración de SQL Server

Acceda de forma remota a cada uno de los nodos que hospedan la instancia y abra el Administrador de configuración de SQL Server. Si utiliza una interfaz gráfica, abra una ventana de ejecución de comandos utilizando “Windows+R” y escriba SQLSERVERMANAGERXX.msc (XX representa la versión de SQL Server) para abrirlo. Si utiliza un servidor de Windows con una configuración de shell mínima, inicie la Consola de administración de Microsoft (mmc) y agregue el complemento del Administrador de configuración de SQL Server.

Navegue hasta la Configuración de red de SQL Server, luego los protocolos para la instancia y abra el protocolo TCP/IP. En la pestaña Direcciones IP, elimine cualquier entrada del área de Puertos dinámicos TCP, incluido el cero si está presente. Haga clic en Aceptar para aplicar el cambio. Repita este paso para cada nodo que hospede la instancia.

Paso 4 – Reiniciar y realizar el failover

Realice el failover de la instancia y vuelva a ejecutar el código T-SQL del Paso 1 para confirmar que ya no tiene un puerto dinámico abierto. Vuelva a fallar la instancia y verifique el puerto nuevamente.

Consideraciones y definiciones

¿Qué es un puerto? Un número de puerto es un ‘punto final’ de un servicio, una forma de conectar un proceso a un servidor. Un número de puerto se encuentra en los paquetes tanto del Protocolo de datagramas de usuario (UDP) como del Protocolo de control de transmisión (TCP). Un puerto tiene sentido cuando se asocia con un protocolo y un número o host IP.

¿Por qué utilizar puertos estáticos? Utilizar puertos estáticos es más fácil de configurar en el Firewall de Windows Server.

¿No es utilizar un puerto estático un riesgo de seguridad? No, cambiar el puerto no es una medida de seguridad sólida.

¿Qué sucede si no puedo realizar el failover de inmediato? Realice el cambio y vuelva a verificarlo cuando pueda.

¿Por qué cambia el puerto dinámico? Al iniciar, SQL Server verifica si el puerto sigue estando libre. Si no lo está, debe cambiar el número de puerto, lo que significa que su regla del firewall dejará de funcionar.

Asignación de puerto estático: Si configura una instancia de SQL Server para utilizar un puerto estático y reinicia la instancia, los clientes solo pueden conectarse a esa instancia utilizando ese puerto. El servicio SQL Server Browser dirigirá a los clientes al puerto especificado.

Asignación de puerto dinámico: Cuando la instancia de SQL Server se inicia, solicita un número de puerto libre al sistema operativo.

Consejos para el firewall: En algún momento, es posible que necesite verificar las reglas de su firewall. Utilice comandos de PowerShell para listar las reglas del firewall.

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.