MS SQL Server 2008용 포트를 찾는 방법은 무엇입니까?
로컬 컴퓨터에서 MS SQL Server 2008을 실행하고 있습니다.기본 포트가 1433이라는 것을 알고 있지만 이 포트에서 수신되지 않습니다.SQL은 Express 버전입니다.
포트를 찾기 위해 로그, SQL Server Management Studio, 레지스트리 및 확장 저장 프로시저를 이미 시도했습니다.하지만 찾을 수 없었습니다.제발 도와주세요.감사해요.
을 Start
버튼을 클릭합니다.
에 가다All Programs -> Microsoft SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager
을 SQL Native Client 10.0 Configuration -> Client Protocols -> TCP/IP
선택 (우블선릭택클릭클Properties
에 대하여TCP/IP
.
은 수있다니습찾을다▁find▁will를 찾을 수 있을 것입니다.Default Port 1433
.
연결에 따라 포트 번호가 다를 수 있습니다.
당신은 또한 볼 수 있습니다.
netstat -abn
포트를 열어두는 해당 응용 프로그램이 있는 포트를 제공합니다.
편집: 또는 TCPView.
제가 찾은 5가지 방법은 다음과 같습니다.
- 방법 1: SQL Server 구성 관리자
- 방법 2: Windows 이벤트 뷰어
- 방법 3: SQL Server 오류 로그
- 방법 4: sys.dm _exec_connections DMV
- 방법 5: xp_instance_regread를 사용하여 레지스트리 읽기
4.dm _exec_connections - 4: sys.dm _exec_connections DMV
이게 가장 쉬운 방법인 것 같아요
DMV는 SQL Server 인스턴스를 모니터링하는 데 사용할 수 있는 서버 상태를 반환합니다.sys.dm _exec_connections DMV를 사용하여 아래 T-SQL 코드를 사용하여 SQL Server 인스턴스가 수신 중인 포트 번호를 식별할 수 있습니다.
SELECT local_tcp_port
FROM sys.dm_exec_connections
WHERE session_id = @@SPID
GO
Result Set:
local_tcp_port
61499
(1 row(s) affected)
방법 1: SQL Server 구성 관리자
1단계. 시작 > 모든 프로그램 > Microsoft SQL Server 2012 > 구성 도구 > SQL Server 구성 관리자 클릭
2단계. SQL Server 구성 관리자 > SQL Server 네트워크 구성 > 프로토콜로 이동합니다.
3단계. TCP/IP를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
4단계. TCP/IP 속성 대화상자에서 IP 주소 탭으로 이동한 후 IPAll 그룹으로 스크롤합니다.
SQL Server가 정적 포트에서 실행되도록 구성된 경우 TCP 포트 텍스트 상자에서 사용할 수 있고 동적 포트에서 구성된 경우 현재 포트를 TCP 동적 포트 텍스트 상자에서 사용할 수 있습니다.여기서 제 예는 포트 번호 61499에 대한 청취입니다.
여기에서 찾을 수 있는 다른 방법은 http://sqlandme.com/2013/05/01/sql-server-finding-tcp-port-number-sql-instance-is-listening-on/ 입니다.
원격 연결을 만드는 데 문제가 있었고 방화벽에서 1433 포트를 설정하는 것이 왜 작동하지 않는지 이해할 수 없었기 때문에 이 문제를 발견했습니다.드디어 전체상을 얻었으니 공유해야겠다고 생각했습니다.
무엇보다도 SQL EXPRESS를 위한 프로토콜에서 SQL Server 구성 관리자를 사용하여 "TCP/IP"를 활성화해야 합니다.
명명된 인스턴스(이 경우 SQL Express)를 사용하면 동적 포트에서 수신됩니다.이 동적 포트를 찾으려면 다음과 같은 몇 가지 옵션이 있습니다.
견제의
ERRORLOG
위치한 SQL Server의'{MS SQL Server Path}\{MS SQL Server instance name}\MSSQL\Log'
(다음과 유사한 행이 발견될 경우:"2013-07-25 10:30:36.83 Server Server is listening on [ 'any' <ipv4> 51118]"
--> 따라서 51118은 이 경우 동적 포트입니다.레지스트리 확인:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\{MSSQL instance name}\MSSQLServer\SuperSocketNetLib\Tcp\IPAll
나로서는TcpDynamicPorts=51118
.편집:
{MSSQL instance name}
다음과 같은 것입니다.MSSQL10_50.SQLEXPRESS
,만 아니라SQLEXPRESS
물론 방화벽에서 이 TCP 포트를 허용하고 다음을 전달하여 원격 연결을 만듭니다."x.x.x.x,51118"
(여기서 x.x.x.x는 서버 IP) 이 시점에서 이미 해결되었습니다.
그러나 인스턴스 이름을 전달하여 원격 연결)을 전달하여 원격으로 연결하려고 했습니다.x.x.x.x\SQLExpress
이때 SQL Browser 서비스가 실행됩니다.인스턴스 이름을 51118 포트로 해결하는 장치입니다. SQL Browser 서비스는 UDP 포트 1434(표준 및 정적)에서 수신하기 때문에 서버의 방화벽에서도 허용해야 했습니다.
실제 답변을 조금 더 설명하자면, 다른 사용자가 동적 포트를 좋아하지 않고 자신의 SQL Server 인스턴스에 대한 정적 포트를 원하는 경우 이 링크를 사용해 보십시오.
아래와 같은 라인에 대한 ERROGROUG 로그를 작성합니다.SQL Server가 원격 액세스에 사용되지 않거나 TCP를 통해 사용할 수 없습니다.SQL 서버 구성 관리자를 통해 이 설정을 변경할 수 있습니다.
Server is listening on [ 192.128.3.2 <ipv4> 1433].
사용해 보십시오(에 대한 액세스 필요).sys.dm_exec_connections
):
SELECT DISTINCT
local_tcp_port
FROM sys.dm_exec_connections
WHERE local_tcp_port IS NOT NULL
SQLEXPRESS2008 프로토콜에서 SQL Server 구성 관리자를 사용하여 TCP/IP를 활성화하여 문제를 해결했습니다. 서비스를 다시 시작했는데 ERRORLOG 파일에 "Server is listening on"이 표시됩니다.
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
USE master
GO
xp_readerrorlog 0, 1, N'Server is listening on', 'any', NULL, NULL, N'asc'
GO
[SQL Server 오류 로그를 읽어 SQL Server 데이터베이스 엔진의 명명된 인스턴스에서 사용하는 포트 식별]
다음 두 가지 명령을 사용할 수 있습니다.tasklist
그리고.netstat -oan
Tasklist.exe
는 것과 같은taskmgr.exe
텍스트 모드입니다.
와 함께tasklist.exe
또는taskmgr.exe
의 PID를 얻을 수 있습니다.sqlservr.exe
와 함께netstat -oan
연결 PID를 표시하고 필터링할 수 있습니다.
예:
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
이 예에서 SQL Server 포트는 1280입니다.
추출처: http://www.sysadmit.com/2016/03/mssql-ver-puerto-de-una-instancia.html
원격 서버에 대한 관리자 권한이 없는 경우 유일한 방법인 포트 검색을 통해 이 작업을 수행할 수도 있습니다.
Nmap(http://nmap.org/zenmap/) 을 사용하여 "Intensity TCP 검사"를 수행하면 서버의 모든 인스턴스에 대해 다음과 같은 결과를 얻을 수 있습니다.
[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
중요한 참고:쿼리 분석기 또는 MS SQL Server Management Studio를 사용하여 테스트하려면 콜론 대신 쉼표를 사용하여 HTTP와 같이 일반적으로 포트에 연결하는 것과 다른 서버 이름 및 포트를 구성해야 합니다.
- 이름: Management Studio 파일:
10.0.0.1,49843
- 문자열: 연결문열:
Data Source=10.0.0.1,49843
하지만
- 문자열: JDBC 파일:
jdbc:microsoft:sqlserver://10.0.0.1:49843;DatabaseName=DATABASE
SQL Server 2005 - 2012에 적용됩니다.응용 프로그램 아래의 오류 로그에서 이벤트 ID = 26022를 찾습니다.그러면 sql 서버의 포트 번호와 액세스할 수 있는 IP 주소가 표시됩니다.
위에 나열된 내용 외에도 SQL Express가 원격으로 연결할 수 있도록 TCP와 UDP 포트를 모두 활성화해야 했습니다.세가 있기 에 나는 내개발시에세가다른있때에문기가스인스턴지스템,를 합니다.1430-1435
UDP.TCP의 UDP 파일입니다.
언급URL : https://stackoverflow.com/questions/1518823/how-to-find-the-port-for-ms-sql-server-2008
'programing' 카테고리의 다른 글
파이썬에서 집합을 목록으로 변환하는 방법은 무엇입니까? (0) | 2023.05.21 |
---|---|
git log'로 첫 번째 커밋을 표시하는 방법은 무엇입니까? (0) | 2023.05.21 |
process.env란 무엇입니까?Node.js의 포트? (0) | 2023.05.21 |
Windows DLL 파일을 테스트하여 32비트인지 64비트인지 확인하려면 어떻게 해야 합니까? (0) | 2023.05.21 |
Xcode 프로젝트에 몇 줄의 코드가 있는지 어떻게 알 수 있습니까? (0) | 2023.05.21 |