MSSQL: Ver puerto de una instancia

En servidores Microsoft SQL Server, el puerto predeterminado en que está escuchando el servicio es el: 1433 (TCP).

Sin embargo, es posible cambiar la configuración e indicar otro puerto.

Veamos algunos métodos para ver el puerto de una instancia en SQL Server:

1) Utilizando el "Administrador de configuración de SQL Server":

Encontraremos esta herramienta en el grupo de programas de SQL Server.

Ejecutamos:

Ejemplo de ruta del fichero MSC si disponemos de SQL Server 2008 R2:

C:\Windows\SysWOW64\mmc.exe /32 C:\Windows\SysWOW64\SQLServerManager10.msc

Desplegamos:

"Configuración de red de SQL Server", clic sobre "Protocolos MSSQLSERVER" (donde MSSQLSERVER es el nombre de la instancia), propiedades sobre TCP/IP, pestaña "Direcciones IP", buscamos "IPAll"

A continuación, podemos ver que el puerto TCP, en este ejemplo, figura el 1280.

MSSQL: Ver puerto de una instancia
2) Clave en el registro de Windows:

La ubicación de la clave es la siguiente:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp\IPAll

Valor:

"TcpPort"="XXXX"

Donde "XXXX" es el número del puerto.

La ubicación de la clave en el registro cambia dependiendo de la versión de SQL Server. 

Por ejemplo:

MSSQL10_50.MSSQLSERVER corresponde a: 

MSSQL10_50 = SQL Server 2008 R2.
MSSQLSERVER = Nombre de la instancia.

MSSQL: Ver puerto de una instancia

3) Utilizando tasklist y netstat:

3.1) Utilizando el identificador del proceso:

Teniendo en cuenta que el nombre del binario del servicio de SQL Server es: sqlservr.exe

Con tasklist mostramos el identificador del proceso sobre el que esta escuchando el servicio SQL Server:

C:\>tasklist | find /i "sqlservr.exe"
sqlservr.exe  1184 Services    0 3.181.800 KB

Con netstat -oan (el parámetro "o", muestra el identificador del proceso), buscamos el identificador del proceso y nos aparecerá el puerto:

C:\>netstat -oan | find /i "1184"
TCP  0.0.0.0:1280  0.0.0.0:0  LISTENING  1184

3.2) Utilizando la lista de conexiones abiertas con el nombre del proceso

También con netstat, podemos hacer que nos muestre el nombre del proceso con el parámetro "b", si ejecutamos netstat -abn, encontraremos el proceso sqlservr.exe enlazado a 0.0.0.0 (todas las direcciones IP) a un puerto, según la siguiente captura de pantalla, el puerto: 1280

MSSQL: Ver puerto de una instancia

4) Utilizando T-SQL:

Para utilizar T-SQL debernos conectar primero con SQL Server.

4.1) Stored procedure: xp_ReadErrorLog

Ejecutaremos:

Use Master
GO
EXEC xp_ReadErrorLog 0, 1, N'Server is listening on', N'any', NULL, NULL, 'DESC'
GO

Vista ejecución:

MSSQL: Ver puerto de una instancia

En vez de utilizar el stored procedure: xp_ReadErrorLog, podemos acceder al fichero de ERRORLOG de forma manual, para ello deberemos saber su ubicación.

Podemos averiguar su ubicación, ejecutando el siguiente T-SQL:

USE master
GO
xp_readerrorlog 0, 1, N'Logging SQL Server messages in file', NULL, NULL, N'asc'
GO
 


Una vez sabemos la ruta del fichero, podemos abrirlo utilizando un editor de texto y localizar el puerto al que se enlaza el servicio:

Contenido del fichero ERRORLOG


4.2) Select de la tabla: sys.dm_exec_connections

Ejecutaremos:

Use master

SELECT local_tcp_port
FROM   sys.dm_exec_connections
WHERE  session_id = @@SPID

5) Visor de eventos (eventvwr.msc):

Aplicación, eventos con el ID: 26022

MSSQL: Ver puerto de una instancia

Por otro lado, si queremos saber el nombre de una instancia, disponemos de varios métodos:

MSSQL: Cómo saber el nombre de la instancia (SYSADMIT.com)

4 comentarios: