Skip to content

Dirceu Resende

DBA SQL Server e Analista de BI (PowerBI, SSAS, SSIS, SSRS)

  • Consultoria
    • Consultoria de BI
    • Consultoria de Power BI
    • Consultoria SQL Server
  • Arquivo
  • Séries
    • Certificação
    • Segurança e Auditoria
    • Performance Tuning
    • O que mudou no T-SQL ?
    • Proteção de Dados
  • Vagas de Emprego
  • Eventos Data Platform
  • Sobre
  • Contato

Other Languages

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 536 outros assinantes

Visualizações do Blog

1.645.448 views

Categorias

  • Apache / .htaccess (9)
  • Banco de Dados (307)
    • MySQL / MariaDB (4)
    • Oracle (8)
    • SQL Server (293)
      • Auditoria (15)
      • Azure (2)
      • CLR (53)
      • Desenvolvimento de Query (83)
      • DMVs e Views de Catálogo (31)
      • Erros (22)
      • Ferramentas (12)
      • Formatação e Validação de Dados (23)
      • Funcionalidades pouco conhecidas (19)
      • Hacks (17)
      • Integrações (30)
      • Manipulação de Arquivos (13)
      • Manutenção (80)
      • Monitoramento (35)
      • O que não fazer (7)
      • OLE Automation (19)
      • Performance Tuning (22)
      • Python (1)
      • Segurança (39)
      • SQL Server Agent (11)
  • Business Intelligence (BI) (31)
    • Analysis Services (SSAS) (7)
    • Microsoft (7)
    • Power BI (12)
    • Reporting Services (SSRS) (8)
  • Carreira e Cursos (13)
  • Carreira, Cursos e Certificações (28)
  • Celulares (1)
  • Eventos e Palestras (63)
  • Programação (57)
    • C# (CSharp) (30)
    • CSS (1)
    • ERP (1)
    • Javascript (1)
    • PHP (17)
    • Powershell / CMD (8)
    • SQLCLR (4)
  • Sem categoria (10)
  • SEO (4)
  • Virtualização (5)

Microsoft MVP Data Platform

Minhas Certificações

Treinamentos

Arquivo de Posts

Posts recentes

  • Descontos da “Black Friday” nos Treinamentos de SQL Server (Comprem meu curso kkkkk) 27 de novembro de 2020
  • SQL Server – As “novas” funções GREATEST e LEAST 27 de novembro de 2020
  • SQL Server – Como saber a data do último login de um usuário 9 de novembro de 2020
  • Azure na Prática Gratuito #07 – Administrando Banco de Dados no Azure 5 de novembro de 2020
  • Analysis Services – An error occurred while opening the model on the workspace database. Reason: An unexpected error occurred (file ‘tmcachemanager.cpp’, function ‘TMCacheManager::CreateEmptyCollectionsForAllParents’) 5 de novembro de 2020
  • 30 de agosto de 2015
  • 3
  • Banco de Dados DMVs e Views de Catálogo Hacks Manutenção SQL Server

Como identificar a porta utilizada pela instância do SQL Server

Visualizações: 30.187
Tempo de Leitura: 3 minutos

Olá pessoal,
Bom dia!

Neste post vou mostrar como identificar a porta utilizada pela instância do SQL Server. Como vocês devem saber, a porta padrão para conexões TCP/IP é a 1433 e para conexões UDP é a 1434. Entretanto, se você possui mais de uma instalação no mesmo servidor, será possível utilizar essas portas apenas para uma das instâncias, fazendo com que seja interessante identificarmos essa informação.

Identificando a porta lendo os logs de erro do SQL Server

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.

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

Como identificar a porta utilizada pelo SQL Server - 1

Identificando a porta por views de catálogo (DMV)

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

Transact-SQL
1
2
3
SELECT TOP 1 local_tcp_port
FROM sys.dm_exec_connections
WHERE local_tcp_port IS NOT NULL

SQL Server - Identificar a porta com DMV dm_exec_connections

Utilizando a DMV sys.dm_server_registry (Somente a partir do SQL Server 2008 R2):

Transact-SQL
1
2
3
4
5
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

Identificando a porta via registro do Windows

Uma alternativa tão prática quanto a primeira, seria realizar uma Query T-SQL consultando os dados do registro do Windows através da stored procedure estendida xp_regread.

Transact-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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

Como identificar a porta utilizada pelo SQL Server - 4

Identificando a porta com o 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)

Como identificar a porta utilizada pelo SQL Server - 2

Como identificar a porta utilizada pelo SQL Server - 3

Identificando a porta com o Visualizador de Eventos do Servidor

Por fim, 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

Como identificar a porta utilizada pelo SQL Server - 5

Como identificar a porta utilizada pelo SQL Server - 7

Como identificar a porta utilizada pelo SQL Server - 6

É isso aí, pessoal!
Até a próxima!

Tags: portportasqlsql serverusedutilizada

You may also like...

  • Introdução ao SQL CLR (Common Language Runtime) no SQL Server

  • SQL Operations Studio – O Management Studio 64 bits rodando no Windows, Linux e Mac

  • SQL Server – Como saber há quanto tempo um database específico está online

  • Next Verificando as permissões de um usuário no SQL Server
  • Previous As procedures estendidas não documentadas do SQL Server

3 Responses

  • Comments3
  • Pingbacks0
  1. Rafael Fernandes disse:
    15 de abril de 2020 às 13:40

    Olá dirceu, boa tarde! Eu executei o Xp_regread e o resultado veio assim:

    Servidor Instancia Porta
    DC14SQL14\INST01 INST01 NULL

    Não tenho acesso ao Master do banco, então não consigo das outras formas…

    Alguma outra idéia?

    Responder
  2. lorduakiti2 disse:
    28 de agosto de 2019 às 02:18

    Excelente post, ajudou bastante.

    Responder
    • Dirceu Resende disse:
      18 de setembro de 2019 às 23:01

      Obrigado ?

      Responder

Deixe uma resposta Cancelar resposta

Dirceu Resende © 2020. All Rights Reserved.