안녕하세요, 고,
Microsoft Windows 포럼에 질문을 올려주셔서 감사합니다!
이슈 설명을 기준으로 합니다. 자! SQL Server 2016에서 2022로 업그레이드했다고 해서 포트 번호(1433)를 반드시 추가할 필요는 없습니다. 하지만 추가할지 여부는 전적으로 새 SQL Server 2022 인스턴스의 구성에 달려 있습니다.
SQL Server 기본 인스턴스의 경우, 클라이언트 라이브러리(예: .NET SqlClient)는 포트 명시가 없으면 TCP 포트 1433에서 자동으로 연결을 시도합니다. 반면, SQL Server를 구버전(예: 2016년)에서 2022년으로 변경해도 이 기본 동작이 변경되지 않습니다. 기본 인스턴스는 1433에서 계속 듣고 있는데, 재구성하지 않는 한 그렇습니다. 또한, SQL 서버가 이름 있는 인스턴스(예: MYSERVER\SQLEXPRESS)라면, 포트는 보통 동적 형태(SQL Server 브라우저에 의해 할당됨)입니다. 이 경우 고정 포트를 하드코딩하지 않는 것이 좋습니다; 대신 인스턴스 이름에 의존하세요. 포트를 추가하면 브라우저 서비스를 우회할 수 있고, 포트가 변경되면 연결이 끊어질 수 있습니다.
서버가 비기본/커스텀 포트에 있거나 인스턴스 해결 동작을 우회하고 싶을 때처럼 포트에 대해 명시적으로 해야 할 때만 1433을 사용하는 것을 고려하고 있습니다. 또한, SQL 서버가 비표준 포트를 사용하고 데이터베이스 관리자가 보안을 위해 SQL Server 2022에서 커스텀 포트(예: 1450)를 사용하도록 설정했을 경우도 고려해 보세요. 때로는 포트를 직접 지정하는 것(ServerName,1433)이 SQL Server 브라우저 서비스를 조회할 필요를 없애 초기 연결이 약간 빨라지고, 방화벽에서 UDP 포트 1434를 차단할 수 있습니다.
문의에 대한 추가 참고 자료를 위해서입니다.
- https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/configure-a-server-to-listen-on-a-specific-tcp-port?view=sql-server-ver17
- https://learn.microsoft.com/en-us/sql/sql-server/connect-to-database-engine?view=sql-server-ver17
위 정보가 도움이 되길 바랍니다! 만약 그렇다면. 커뮤니티 내 같은 질문을 가진 다른 분들에게도 도움이 되는 "답변 수락" 버튼을 자유롭게 누르세요.