Como encontrar a porta de execução do SQL Server?


Respostas:



76

muito simples. anote o PID sqlsrvr.exe do taskmanager e execute este comando:

netstat -ano | findstr *PID*

ele mostrará as conexões TCP e UDP do seu servidor SQL (incluindo portas). O padrão é 1433 para TCP e 1434 para UDP

exemplo: insira a descrição da imagem aqui


3
Isso funcionou para mim "ao contrário": precisava encontrar o número da porta (não padrão) da máquina remota à qual estava conectado no SSMS.
leqid

57

Este é o que funciona para mim:

SELECT DISTINCT 
    local_tcp_port 
FROM sys.dm_exec_connections 
WHERE local_tcp_port IS NOT NULL 

39

Se você pode iniciar o Sql Server Configuration Manager> SQL Server Network Configuration> Your instance> TCP / IP> Properties

insira a descrição da imagem aqui


8

Se você executou "netstat -a -b -n" (em um prompt de comando elevado) e não vê "sqlservr.exe", o serviço do SQL Server não está em execução ou a biblioteca de rede TCP / IP está Desativado.

Execute o SQL Server Configuration Manager (Iniciar | Todos os programas | Microsoft SQL Server 2008 | Ferramentas de configuração).

Navegue até os serviços do SQL Server. No painel direito, procure SQL Server (). Está parado? Se sim, comece.

Navegue até Configuração de rede do SQL Server (ou Configuração de rede do SQL Server (32 bits) conforme apropriado) e, em seguida, Protocolos para. No painel direito, procure "TCP / IP". Está desativado? Em caso afirmativo, habilite-o e reinicie o serviço SQL Server.

Observe que o ID da instância será MSSQLSERVER para a instância padrão.

Observe também que você não precisa habilitar a biblioteca de rede TCP / IP para conectar um cliente ao serviço. Os clientes também podem se conectar por meio da biblioteca de rede de Memória Compartilhada (se o cliente estiver na mesma máquina) ou da biblioteca de rede Pipes Nomeados.


3

Talvez não esteja usando TCP / IP

Dê uma olhada no SQL Server Configuration Manager para ver quais protocolos ele está usando.


Configuração do SQL Native Client? TCP / IP está ativado. Mas a porta padrão é definida como 1433: /
keram

@keram Não - isso é para clientes. Você quer a utilidade de configuração do servidor.
podiluska

onde posso encontrar essa configuração?
keram


2

Em nossa empresa não tenho acesso ao servidor MSSQL, portanto não consigo acessar as tabelas do sistema.

O que funciona para mim é:

  1. capturar o tráfego de rede Wireshark(execute como administrador, selecione Interface de rede), ao abrir a conexão com o servidor.
  2. Encontre o endereço IP com ping
  3. filtrar com ip.dst == x.x.x.x

A porta é mostrada na coluna infono formatosrc.port -> dst.port


2

Este é outro script que uso:

-- Find Database Port script by Jim Pierce  09/05/2018

USE [master]
GO

DECLARE @DynamicportNo NVARCHAR(10);
DECLARE @StaticportNo NVARCHAR(10);
DECLARE @ConnectionportNo INT;

-- Look at the port for the current connection
SELECT @ConnectionportNo = [local_tcp_port]
 FROM sys.dm_exec_connections
    WHERE session_id = @@spid;

-- Look for the port being used in the server's registry
EXEC xp_instance_regread @rootkey = 'HKEY_LOCAL_MACHINE'
                        ,@key =
                         'Software\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp\IpAll'
                        ,@value_name = 'TcpDynamicPorts'
                        ,@value = @DynamicportNo OUTPUT

EXEC xp_instance_regread @rootkey = 'HKEY_LOCAL_MACHINE'
                        ,@key =
                         'Software\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp\IpAll'
                        ,@value_name = 'TcpPort'
                        ,@value = @StaticportNo OUTPUT

SELECT [PortsUsedByThisConnection] = @ConnectionportNo
      ,[ServerStaticPortNumber] = @StaticportNo
      ,[ServerDynamicPortNumber] = @DynamicportNo
GO

1

Tente activar o protocolo por: Configuration Manager > Configuração de rede do servidor SQL > Protocolos para MSSQLSERVER > Propriedades de TCP / IP


1

tente uma vez: -

USE master
DECLARE       @portNumber   NVARCHAR(10)
EXEC   xp_instance_regread
@rootkey    = 'HKEY_LOCAL_MACHINE',
@key        =
'Software\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp\IpAll',
@value_name = 'TcpDynamicPorts',
@value      = @portNumber OUTPUT
SELECT [Port Number] = @portNumber
GO

0

Programas do SQL Server 2000 | MS SQL Server | Utilitário de rede do cliente | Selecione TCP_IP e Propriedades

Programas do SQL Server 2005 | SQL Server | SQL Server Configuration Manager | Selecione Protocolos para MSSQLSERVER ou selecione Protocolos de cliente e clique com o botão direito em TCP / IP


0

Elabore sua resposta.
Harsh Wardhan

Embora este link possa ajudar na sua resposta à pergunta, você pode melhorar esta resposta pegando partes vitais do link e colocando-as em sua resposta, isso garante que sua resposta ainda seja uma resposta se o link for alterado ou removido :)
WhatsThePoint

0

Outra opção pode ser ler o Registro do Windows. Usando o PowerShell, você pode fazer algo assim:

#Get SQL instance's Port number using Windows Registry:
$instName = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server').InstalledInstances[0]
$tcpPort = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\$instName\MSSQLServer\SuperSocketNetLib\Tcp").TcpPort
Write-Host The SQL Instance:  `"$instName`"  is listening on `"$tcpPort`"  "TcpPort."

insira a descrição da imagem aqui Certifique-se de executar este script PowerShell no Host Server (que hospeda sua instância do SQL / instalação do SQL Server), o que significa que você deve primeiro RDP no SQL Server / Box / VM e, em seguida, executar este código.

HTH

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.