Como encontrar a porta para o MS SQL Server 2008?

estou a correr o servidor de MS SQL 2008 na minha máquina local. Eu sei que a porta padrão é 1433, mas alguns como ele não está ouvindo neste Porto. O SQL é uma edição expressa.

já tentei o log, SQL Server Management Studio, registry e extended stored procedure para encontrar a porta. Mas não consegui encontrá-lo. Por favor, ajuda-me. Obrigado.

Author: Prabin Paudel, 2009-10-05

13 answers

Carregue no botão Start nas janelas. Ir para All Programs -> Microsoft SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager

Clique em SQL Native Client 10.0 Configuration -> Client Protocols -> TCP/IP duplo-click (botão direito do rato seleccione Properties) em TCP/IP

Vais encontrar Default Port 1433.

Dependendo da ligação, o número da porta pode variar.

 131
Author: pudaykiran, 2013-06-15 04:45:38

Também podes olhar com um

netstat -abn

Dá aos portos a aplicação correspondente que os mantém abertos.

Edit: ou TCPView.

 48
Author: rslite, 2009-10-05 08:51:36
Aqui estão 5 métodos que encontrei:
  • Método 1: Gestor de configuração do servidor SQL
  • Método 2: Visualizador De Eventos Do Windows
  • Método 3: registos de erros do servidor SQL
  • Método 4: sys. dm_exec_connections DMV
  • Método 5: leitura do registo utilizando o xp_ instance_read

Método 4: sys. dm_exec_connections DMV
Acho que esta é quase a maneira mais fácil...
DMVs return server state that can be used to monitor SQL Server Instance. Podemos use sys. dm_exec_connections DMV para identificar o número de porto que a instância do servidor SQL está a ouvir ao usar o código T-SQL abaixo:

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

Result Set:
local_tcp_port
61499

(1 row(s) affected)

Método 1: Gestor de configuração do servidor SQL

Passo 1. Carregue em Start > todos os programas > Microsoft SQL Server 2012 > Ferramentas de configuração > SQL Server Configuration Manager

Passo 2. Go to SQL Server Configuration Manager > SQL Server Network Configuration > Protocols for

Passo 3. Carregue com o botão direito no TCP / IP e seleccionar as Propriedades

enter image description here

Passo 4. Na janela de Propriedades do TCP/IP, vá para a página de endereços IP e vá para o Grupo IPAll.

enter image description here

Se o servidor SQL estiver configurado para correr num porto estático, estará disponível no campo de texto do Porto TCP, e se estiver configurado no Porto dinâmico, então o porto actual estará disponível no campo de texto do Porto dinâmico TCP. Aqui o meu exemplo é ouvir no Porto número 61499.

Os outros métodos que pode encontrar aqui: http://sqlandme.com/2013/05/01/sql-server-finding-tcp-port-number-sql-instance-is-listening-on/

 44
Author: brothers28, 2018-02-08 08:57:56
Deparei - me com isto porque tive problemas em criar uma ligação remota e não consegui perceber porque é que montar uma porta 1433 na firewall não está a fazer o trabalho. Finalmente tenho a imagem completa, por isso achei que devia partilhar.

Em Primeiro Lugar, é necessário activar o "TCP / IP" usando o Gestor de configuração do servidor SQL nos protocolos para o SQLEXPRESS!

Quando uma instância nomeada é usada ("SQLExpress" neste caso), isto irá ouvir numa porta dinâmica. Para encontrar esta dinâmica porto você tem algumas opções; para citar algumas:

  • A verificação {[[0]} do servidor de SQL localizado em {[[1]} (no interior irá encontrar uma linha semelhante a esta: "2013-07-25 10:30:36.83 Server Server is listening on [ 'any' <ipv4> 51118]" --> portanto, o 51118 é o porto dinâmico neste caso.

  • Registo de Verificação: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\{MSSQL instance name}\MSSQLServer\SuperSocketNetLib\Tcp\IPAll, para o meu caso TcpDynamicPorts=51118.

    Editar: {MSSQL instance name} é algo como:SQLEXPRESS

É claro, permitindo esta porta TCP na firewall e criando uma ligação remota passando por: "x.x.x.x,51118" (onde x. x. x. x é o IP do servidor) já resolve isso neste ponto.

Mas depois quis ligar-me remotamente passando pelo nome da instância (p.ex.: x.x.x.x\SQLExpress). Isto é quando o serviço de navegação SQL entra em jogo. Esta é a unidade que resolve o nome da instância no porto 51118. O serviço de navegação SQL ouve na porta UDP 1434 (standard & static), então eu tive que permitir isso também na firewall do servidor.

Para estender um pouco a resposta real: se alguém não gosta de portas dinâmicas e quer uma porta estática para a sua instância de servidor SQL, deverá tentar esta ligação .

 17
Author: Learner, 2015-09-14 11:35:47

No registo do ERROLOG para uma linha como a seguinte. Se você não vê que o servidor SQL não está ativado para acesso remoto, ou simplesmente não é via TCP. Pode alterar isto através do Gestor de configuração do servidor SQL.

Server is listening on [ 192.128.3.2 <ipv4> 1433].
 11
Author: mrdenny, 2009-10-05 08:30:28

Resolvi o problema ao activar o TCP / IP usando o Gestor de configuração do servidor de SQL nos protocolos para o SQLEXPRESS2008, reiniciei o serviço e agora o" servidor está a ouvir " aparece no ficheiro de ERRORLOG

 8
Author: Lepez, 2011-02-22 23:29:06

Tenta isto (requer acesso a sys.dm_exec_connections):

SELECT DISTINCT 
    local_tcp_port 
FROM sys.dm_exec_connections 
WHERE local_tcp_port IS NOT NULL
 8
Author: Tilo, 2014-06-11 22:44:23
USE master
GO
xp_readerrorlog 0, 1, N'Server is listening on', 'any', NULL, NULL, N'asc' 
GO

[identificar o Porto usado pela instância nomeada do motor de bases de dados do servidor SQL lendo os registos de erros do servidor SQL]

 6
Author: Morteza, 2014-05-24 15:31:21

Uso o seguinte script no SSMS

SELECT
     s.host_name
    ,c.local_net_address
    ,c.local_tcp_port
    ,s.login_name
    ,s.program_name
    ,c.session_id
    ,c.connect_time
    ,c.net_transport
    ,c.protocol_type
    ,c.encrypt_option
    ,c.client_net_address
    ,c.client_tcp_port
    ,s.client_interface_name
    ,s.host_process_id
    ,c.num_reads as num_reads_connection
    ,c.num_writes as num_writes_connection
    ,s.cpu_time
    ,s.reads as num_reads_sessions
    ,s.logical_reads as num_logical_reads_sessions
    ,s.writes as num_writes_sessions
    ,c.most_recent_sql_handle
FROM sys.dm_exec_connections AS c
INNER JOIN sys.dm_exec_sessions AS s
    ON c.session_id = s.session_id

--filter port number
--WHERE c.local_tcp_port <> 1433
 4
Author: Rubens, 2014-04-30 19:59:22

Isto também pode ser feito através de uma varredura de portas, que é o único método possível se você não tiver acesso administrativo a um servidor remoto.

Usando Nmap ( http://nmap.org/zenmap/) fazer uma" verificação intensa do TCP " dar-lhe-á resultados como este para todas as instâncias no servidor:

[10.0.0.1\DATABASE]    
Instance name: DATABASE
Version: Microsoft SQL Server 2008 R2 RTM    
Product: Microsoft SQL Server 2008 R2    
Service pack level: RTM    
TCP port: 49843    
Named pipe: \\10.0.0.1\pipe\MSSQL$DATABASE\sql\query

Nota importante: para testar com o analisador de consultas ou com o estúdio de gestão de Servidores de MS SQL, você deve formar o seu nome e porto de forma diferente do que normalmente se ligaria a um Porto, sobre HTTP por exemplo, usando uma vírgula em vez de um cólon .

  • Management Studio Server Name: 10.0.0.1,49843
  • Cadeia De Ligação: Data Source=10.0.0.1,49843

No entanto

  • Cadeia de ligação JDBC: jdbc:microsoft:sqlserver://10.0.0.1:49843;DatabaseName=DATABASE
 4
Author: Shane, 2014-08-22 22:52:12

Pode usar estes dois comandos: tasklist e netstat -oan

Tasklist.exe é como taskmgr.exe mas no modo de texto.

Com tasklist.exe ou {[4] } pode obter um PID de sqlservr.exe

Com netstat -oan, mostra um PID de ligação, e você pode filtrá-lo.

Exemplo:

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

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

Neste exemplo, a porta SQLServer é 1280

Extraído de: http://www.sysadmit.com/2016/03/mssql-ver-puerto-de-una-instancia.html

 4
Author: Demestrestalk, 2016-03-07 11:25:08

Este funciona para o servidor SQL 2005-2012. Procure o ID do evento = 26022 no registo de erros em aplicações. Isso irá mostrar o número de porta do servidor sql, bem como quais endereços ip estão autorizados a acessar.

 1
Author: Mukus, 2012-12-13 04:51:58

Para além do que está listado acima, tive de activar tanto as portas TCP como UDP para o SQLExpress se ligar remotamente. Como eu tenho três instâncias diferentes na minha máquina de desenvolvimento, eu habilito {[[0]} para TCP e UDP.

 1
Author: D. Davidson, 2013-04-08 21:11:55