Cómo configurar el motor de base de datos para escuchar en varios puertos TCP
Si se ha habilitado TCP/IP para SQL Server, el Motor de base de datos escucha las conexiones entrantes en un punto de conexión compuesto por una dirección IP y un número de puerto TCP. Los procedimientos siguientes crean un extremo de secuencia de datos tabulares (TDS), para que SQL Server escuche en otro puerto TCP.
A continuación se detallan algunos posibles motivos que pueden llevar a crear un segundo extremo de TDS:
Incrementar la seguridad configurando el firewall de modo que se restrinja el acceso al extremo predeterminado a equipos cliente locales de una subred específica. Mantener el acceso a SQL Server a través de Internet para el equipo de soporte creando un nuevo extremo que quede expuesto a Internet a través del firewall y restringiendo los derechos de conexión a este extremo al equipo de soporte del servidor.
Establecer afinidades entre conexiones y procesadores específicos al utilizar acceso no uniforme a memoria (NUMA). Para obtener más información acerca de cómo configurar un puerto TCP/IP en un nodo NUMA, vea Cómo SQL Server es compatible con NUMA.
Nota
Cuando se crea un nuevo extremo de Transact-SQL, los permisos de conexión correspondientes a public se revocan para el extremo de TDS predeterminado. Si el acceso al grupo public es necesario para el extremo predeterminado, aplique de nuevo este permiso mediante la instrucción GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] to [public].
Para configurar un extremo de TDS hay que realizar los siguientes pasos, que se pueden efectuar en cualquier orden:
Cree el extremo de TDS para el puerto TCP y restaure el acceso al extremo predeterminado si procede.
Conceda acceso al extremo a las entidades de seguridad de servidor que desee.
Especifique el número de puerto TCP para la dirección IP seleccionada.
Para obtener más información sobre la configuración predeterminada de Firewall de Windows y una descripción de los puertos TCP que afectan al motor de base de datos, Analysis Services, Reporting Services e Integration Services, vea Configurar Firewall de Windows para permitir el acceso a SQL Server.
Para crear un extremo de TDS
Ejecute la siguiente instrucción para crear un extremo llamado CustomConnection para el puerto 1500, para todas las direcciones TCP disponibles en el servidor.
USE master GO CREATE ENDPOINT [CustomConnection] STATE = STARTED AS TCP (LISTENER_PORT = 1500, LISTENER_IP =ALL) FOR TSQL() ; GO
Para conceder acceso al extremo
Ejecute la siguiente instrucción para conceder acceso al extremo CustomConnection al grupo de soporte de SQL en el dominio corporativo.
GRANT CONNECT ON ENDPOINT::[CustomConnection] to [corp\SQLSupport] ; GO
Para configurar el motor de la base de datos de SQL Server para escuchar en otro puerto TCP
En el Administrador de configuración de SQL Server, expanda Configuración de red de SQL Server y, a continuación, haga clic en Protocolos de<nombre_instancia>.
Expanda Protocolos de<nombre_instancia> y, a continuación, haga clic en TCP/IP.
En el panel derecho, haga clic con el botón secundario en cada dirección IP deshabilitada que desee habilitar y, a continuación, haga clic en Habilitar.
Haga clic con el botón secundario en IPAll y, a continuación, haga clic en Propiedades.
En el cuadro Puerto TCP, escriba los puertos en los que desee que escuche el Motor de base de datos, separados por comas. En nuestro ejemplo, si aparece el puerto predeterminado 1433, escriba ,1500 para que en el cuadro se lea 1433,1500 y, a continuación, haga clic en Aceptar.
Nota
Si no va a habilitar el puerto en todas las direcciones IP, configure el puerto adicional en el cuadro de propiedades sólo para la dirección deseada. Después, en el panel de la consola, haga clic con el botón secundario en TCP/IP, haga clic en Propiedades y, en el cuadro Escuchar todo, seleccione No.
En el panel izquierdo, haga clic en Servicios de SQL Server.
En el panel derecho, haga clic con el botón secundario en SQL Server<nombre_instancia> y, a continuación, haga clic en Reiniciar.
Cuando se reinicie el Motor de base de datos, el registro de errores mostrará los puertos en los que escucha SQL Server.
Para conectarse al nuevo extremo
Ejecute la siguiente instrucción para conectarse al extremo CustomConnection de la instancia predeterminada de SQL Server en el servidor llamado ACCT, utilizando una conexión de confianza y suponiendo que el usuario es miembro del grupo [corp\SQLSupport].
sqlcmd -SACCT,1500