Hola, chicos,
¡Buen día!
En esta publicación le mostraré cómo identificar el puerto utilizado por la instancia de SQL Server. Como sabrás, el puerto predeterminado para conexiones TCP/IP es 1433 y para conexiones UDP es 1434. Sin embargo, si tienes más de una instalación en el mismo servidor, será posible utilizar estos puertos solo para una de las instancias, por lo que nos resulta interesante identificar esta información.
Identificar el puerto leyendo los registros de errores de SQL Server
El registro de errores de SQL Server es un excelente lugar para saber qué sucede con su instancia de SQL Server. Usando el procedimiento almacenado extendido xp_readerrorlog, podemos obtener fácilmente esta información.
EXEC master.dbo.xp_readerrorlog 0, 1, N'Server is listening on', 'ipv', NULL, NULL, N'asc'

Identificación del puerto mediante vistas de catálogo (DMV)
Otra forma rápida de obtener información es consultando las vistas de catálogo del sistema (DMV), según los ejemplos a continuación:
SELECT TOP 1 local_tcp_port
FROM sys.dm_exec_connections
WHERE local_tcp_port IS NOT NULL

Usando el DMV sys.dm_server_registry (solo desde SQL Server 2008 R2):
SELECT value_data
FROM sys.dm_server_registry
WHERE registry_key LIKE '%IPALL%'
AND value_name LIKE 'Tcp%Port%'
AND NULLIF(value_data, '') IS NOT NULL
Identificar el puerto a través del registro de Windows
Una alternativa tan práctica como la primera sería realizar un T-SQL Query consultando datos del registro de Windows a través del procedimiento almacenado extendido xp_regread.
DECLARE @Instancia NVARCHAR(50)
DECLARE @Porta VARCHAR(100)
DECLARE @RegKey_Instancia NVARCHAR(500)
DECLARE @RegKey NVARCHAR(500)
SET @Instancia = CONVERT(NVARCHAR, ISNULL(SERVERPROPERTY('INSTANCENAME'), 'MSSQLSERVER'))
-- SQL Server 2000
IF ( SELECT CONVERT( VARCHAR (1), (SERVERPROPERTY ('ProductVersion'))) ) = 8
BEGIN
IF (@Instancia = 'MSSQLSERVER')
SET @RegKey = 'SOFTWARE\Microsoft\' + @Instancia + '\MSSQLServer\SuperSocketNetLib\TCP\'
ELSE
SET @RegKey = 'SOFTWARE\Microsoft\Microsoft SQL Server\' + @Instancia + '\MSSQLServer\SuperSocketNetLib\TCP\'
EXEC master.dbo.xp_regread
@rootkey = 'HKEY_LOCAL_MACHINE',
@key = @RegKey,
@value_name = 'TcpPort',
@value = @Porta OUTPUT
SELECT @@SERVERNAME AS Servidor, @Instancia AS Instancia, @Porta AS Porta
END
-- SQL Server 2005 ou superiores
IF ( SELECT CONVERT( VARCHAR (1), (SERVERPROPERTY ('ProductVersion'))) ) <> 8
BEGIN
SET @RegKey_Instancia = 'SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL'
EXEC master.dbo.xp_regread
@rootkey = 'HKEY_LOCAL_MACHINE',
@key = @RegKey_Instancia,
@value_name = @Instancia,
@value = @Porta OUTPUT
SET @RegKey = 'SOFTWARE\Microsoft\Microsoft SQL Server\' + @Porta + '\MSSQLServer\SuperSocketNetLib\TCP\IPAll'
EXEC master.dbo.xp_regread
@rootkey = 'HKEY_LOCAL_MACHINE',
@key = @RegKey,
@value_name = 'TcpPort',
@value = @Porta OUTPUT
SELECT @@SERVERNAME AS Servidor, @Instancia AS Instancia, @Porta AS Porta
END

Identificar el puerto con el Administrador de configuración de SQL Server
Otra alternativa para esto, si tienes acceso al servidor, es utilizar el Administrador de configuración de SQL Server.
Para abrir esta utilidad, simplemente use el Menú Inicio > Programas > Microsoft SQL Server 2008 R2 (O su versión) > Herramientas de configuración y abre la aplicación Administrador de configuración de SQL Server.
Una alternativa más rápida es abrir el menú Ejecutar y escribir SQLServerManager10.msc (10 representa la versión de su SQL Server)


Identificar el puerto con el Visor de eventos del servidor
Finalmente, podemos comprobar el puerto utilizado por nuestra instancia consultando el registro de eventos de la aplicación.
Para abrir esta aplicación, debes dirigirte a: Panel de control > Herramientas administrativas > Visor de eventos O abra el menú Ejecutar y escriba: eventovwr.msc
En el panel izquierdo, expanda el menú "Registro de Windows" y luego seleccione la opción "Aplicación". En el panel derecho, haga clic en la opción "Filtrar registro actual" y filtre por ID de evento. 26022



¡Eso es todo, amigos!
¡Hasta la próxima!
Comentários (0)
Carregando comentários…