SQL Server 실행 포트를 찾는 방법은 무엇입니까?


94

예이 글을 읽었습니다. MS SQL Server 2008의 포트를 찾는 방법은 무엇입니까?

불운.

텔넷 1433

연결 실패를 반환하므로 다른 포트를 지정해야합니다.

나는 사용하려고했다

netstat -abn

하지만이 목록에 sqlservr.exe 또는 이와 유사한 것이 표시되지 않습니다.

그 항구를 찾기가 왜 그렇게 어려운가요? : /


SQL Server 서비스 가 실행 중인지 확인 했습니까 ?
Pilgerstorfer Franz 2012 년

답변:



76

아주 간단합니다. 작업 관리자에서 sqlsrvr.exe PID를 기록한 후 다음 명령을 실행합니다.

netstat -ano | findstr *PID*

SQL 서버 (포트 포함)의 TCP 및 UDP 연결 표준이 TCP의 경우 1433이고 UDP의 경우 1434임을 표시합니다.

예 : 여기에 이미지 설명 입력


3
이것은 나를 위해 "역방향"으로 작동했습니다. SSMS에서 연결된 원격 컴퓨터의 (기본값이 아닌) 포트 번호를 찾는 데 필요했습니다.
leqid

57

이것은 나를 위해 일하는 것입니다.

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

39

SQL Server 구성 관리자> SQL Server 네트워크 구성> 인스턴스> TCP / IP> 속성을 ​​시작할 수있는 경우

여기에 이미지 설명 입력


8

관리자 권한 명령 프롬프트에서 "netstat -a -b -n"을 실행했는데 "sqlservr.exe"가 전혀 표시되지 않으면 SQL Server 서비스가 실행되고 있지 않거나 해당 TCP / IP 네트워크 라이브러리가 비활성화 됨.

SQL Server 구성 관리자를 실행합니다 (시작 | 모든 프로그램 | Microsoft SQL Server 2008 | 구성 도구).

SQL Server 서비스로 이동합니다. 오른쪽 창에서 SQL Server ()를 찾습니다. 중지 되었습니까? 그렇다면 시작하십시오.

SQL Server 네트워크 구성 (또는 해당하는 SQL Server 네트워크 구성 (32 비트))으로 이동 한 다음. 오른쪽 창에서 "TCP / IP"를 찾습니다. 비활성화되어 있습니까? 그렇다면 활성화 한 다음 SQL Server 서비스를 다시 시작하십시오.

인스턴스 ID는 기본 인스턴스의 경우 MSSQLSERVER입니다.

클라이언트를 서비스에 연결하기 위해 TCP / IP 네트워크 라이브러리를 활성화 할 필요가 없습니다. 클라이언트는 또한 공유 메모리 네트워크 라이브러리 (클라이언트가 동일한 시스템에있는 경우) 또는 명명 된 파이프 네트워크 라이브러리를 통해 연결할 수 있습니다.


3

TCP / IP를 사용하지 않을 수도 있습니다.

SQL Server 구성 관리자를 살펴보고 사용중인 프로토콜을 확인하세요.


SQL Native Client 구성? TCP / IP가 활성화되었습니다. 하지만 기본 포트는 1433으로 설정되어 있습니다. : /
keram

@keram 아니요-고객을위한 것입니다. 서버 구성 유틸리티를 원합니다.
podiluska 2012 년

해당 구성을 어디에서 찾을 수 있습니까?
keram


2

우리 기업에서는 MSSQL Server에 대한 액세스 권한이 없으므로 시스템 테이블에 액세스 할 수 있습니다.

나를 위해 작동하는 것은 :

  1. 네트워크 트래픽 캡처 Wireshark서버에 대한 연결을 여는 동안 (관리자 권한으로 실행, 네트워크 인터페이스 선택)합니다.
  2. IP 주소 찾기 ping
  3. 필터링 ip.dst == x.x.x.x

포트는 info형식으로 열에 표시 됩니다.src.port -> dst.port


2

이것은 내가 사용하는 또 다른 스크립트입니다.

-- 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

다음 방법으로 프로토콜을 활성화하십시오. 구성 관리자 > SQL 서버 네트워크 구성 > MSSQLSERVER에 대한 프로토콜 > TCP / IP 속성


1

한 번 시도 :-

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

SQL Server 2000 프로그램 | MS SQL 서버 | 클라이언트 네트워크 유틸리티 | TCP_IP를 선택한 다음 속성을 선택합니다.

SQL Server 2005 프로그램 | SQL 서버 | SQL Server 구성 관리자 | MSSQLSERVER에 대한 프로토콜을 선택하거나 클라이언트 프로토콜을 선택하고 TCP / IP를 마우스 오른쪽 버튼으로 클릭합니다.


0

귀하의 답변을 자세히 설명하십시오.
거친 Wardhan

이 링크는 질문에 대한 귀하의 답변에 도움이 될 수 있지만, 링크의 중요한 부분을 답변에 포함하여이 답변을 개선 할 수 있습니다. 이렇게하면 링크가 변경되거나 제거 된 경우에도 답변이 여전히 답변이 될 수 있습니다. :)
WhatsThePoint

0

또 다른 옵션은 Windows 레지스트리를 읽는 것입니다. PowerShell을 사용하여 다음과 같이 할 수 있습니다.

#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."

여기에 이미지 설명 입력 SQL 인스턴스 / SQL Server 설치를 호스팅하는 호스트 서버에서이 PowerShell 스크립트를 실행해야합니다. 즉, 먼저 SQL Server / Box / VM에 RDP를 연결 한 다음이 코드를 실행해야합니다.

HTH

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.