
Windows 방화벽을 통해 SQL Server 연결을 여는 가장 좋은 방법에 대해 인터넷을 몇 번 검색했지만 아직 가장 좋은 방법을 찾지 못했습니다. Windows 방화벽에서 해당 포트를 열 수 있도록 SQL이 실행 중인 포트를 찾는 보장된 방법이 있는 사람이 있습니까?
답변1
SQL Server 인스턴스가 하나만 실행되고 있고 로컬이 아닌 연결에 대해 TCP/IP 전송이 활성화된 경우 기본 TCP 포트인 1433에서 수신 대기할 가능성이 있습니다.
여러 인스턴스가 있거나 "단일, 기본, 인스턴스" 이상의 다른 합병증이 있는 경우 상황이 더 복잡해질 수 있습니다. 각 인스턴스에 대한 포트를 설정해야 하며(기본적으로 방화벽 구성에 일반적으로 도움이 되지 않는 반 무작위임) SQL 브라우저 서비스도 열어야 합니다(일반적으로 UDP 포트 1434에서 수신 대기하지만 이 서비스도 가능함). 재구성될 수 있습니다).
SQL Server 및 방화벽에 대한 상당히 자세한 참고 사항은 다음 사이트에 있습니다.http://msdn.microsoft.com/en-us/library/cc646023.aspx
답변2
기본이 아닌 인스턴스를 해결하려면 브라우저 서비스를 시작해야 합니다. 또한 UDP 1434를 열면 포트 대신 이름으로 명명된 인스턴스를 확인할 수 있으므로 포트를 사용할 필요가 없습니다. UDP 1434를 장기간 여는 것이 불편하거나 현장에 로컬로 연결할 수 있는 DBA가 있는 경우 SQL Server Mgmt Studio 또는 SQLCMD를 통해 연결하도록 요청하고 다음과 같이 서버 연결을 지정할 수 있습니다.
tcp:서버 이름\인스턴스 이름
tcp 접두어를 붙이면 tcp 연결이 강제됩니다. 이 작업이 완료되면 명명된 인스턴스에 연결하고 sys.dm_exec_connections를 쿼리하여 다음과 같이 기본이 아닌 인스턴스가 실행 중인 포트를 찾을 수 있습니다.
SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID
답변3
SQL Server의 기본 포트는 1433입니다.