Identificando a porta do SQLSERVER

Publicado: 01/02/2017

A porta padrão de conexão TCP/IP é a porta 1433 e para conexões UDP é a porta 1434. Há diferentes formas de identificar a porta configurada para o SQL:

  1. Lendo os Logs de Erro
  2. Por Views de Catálogo (dmv)
  3. Através dos registros do windows
  4. Pelo SQL Server Configuration Manager
  5. Através do Visualizador de Eventos do Servidor

 

1)Lendo os Logs de Erro

O log de erro do SQL Server é um ótimo lugar para saber o que acontece com a instância do SQL Server. Utilizando a stored procedure estendida xp_readerrorlog, podemos facilmente obter essa informação.

EXEC master.dbo.xp_readerrorlog 0, 1, N'Server is listening on', 'ipv', NULL, NULL, N'asc'

 

2)Por Views de Catálogo (dmv)

Uma forma rápida de obter a informação é consultando views de catálogo do sistema (DMV’s), conforme exemplos abaixo:

SELECT TOP 1 local_tcp_port
FROM sys.dm_exec_connections
WHERE local_tcp_port IS NOT NULL

 

3)Através dos registros do windows

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

 

4)Pelo SQL Server Configuration Manager

Uma outra alternativa para isso, caso você tenha acesso ao servidor, é utilizando o SQL Server Configuration Manager.
Para abrir esse utilitário, basta utilizar o Menu Iniciar > Programas > Microsoft SQL Server 2008 R2 (Ou a sua versão) > Configuration Tools e abrir o aplicativo SQL Server Configuration Manager.

Uma alternativa mais rápida é abrir o menu Executar, e digitar SQLServerManager10.msc (o 10 representa a versão do seu SQL Server)

porta_sql_1porta_sql_2

 

5)Através do Visualizador de Eventos do Servidor

Podemos verificar a porta utilizada pela nossa instância consultando o log de eventos do tipo Application.

Para abrir esse aplicativo, você deve ir em: Painel de Controle > Ferramentas Administrativas > Visualizador de Eventos ou então abrir o menu Executar e digitar: eventvwr.msc

No painel da esquerda, expanda o menu “Log do Windows” e depois marque a opção “Aplicativo”. No painel da direita, clique na opção “Filtrar log atual” e filtre pelo Id do evento 26022

porta_sql_3porta_sql_4porta_sql_5

 

Referência:

https://www.dirceuresende.com/blog/como-identificar-a-porta-utilizada-pela-instancia-do-sql-server/