0. 개요
호스트 localhost, 포트 1433에 대한 TCP/IP 연결에 실패했습니다. 오류: "Connection refused: connect. 연결 속성을 확인하십시오. SQL Server의 인스턴스가 호스트에서 실행되고 있고 포트에서 TCP/IP 연결을 허용하고 있는지 확인하십시오. 또한 방화벽에서 포트로의 TCP 연결을 차단하지 않는지 확인하십시오.". |
Windows Server에서 MSSQL 관련 프로젝트 파일을 실행하는데, 기동이 되지 않아 로그를 살펴보니 해당 로그가 출력되고 있었다. 해당 오류를 해결하는 방법에 대해 알아보자. 해당 해결 방법은 비단 Windows Server OS 뿐만이 아닌, MSSQL 서버를 구동하는 보편적인 Windows 환경이라면 모두 적용되는 방법이다.
1. Windows 방화벽 INBOUND 포트 허용
Windows 작업 표시줄 검색
클릭 → 방화벽
검색 → 고급 보안이 포함된 Windows Defender 방화벽
을 클릭한다.
좌측 트리 메뉴의 인바운드 규칙
을 클릭한다.
인바운드 규칙에 MSSQL 이름의 규칙이 있는지 여부를 확인한다.
1-1. MSSQL 인바운드 허용 규칙이 없을 경우
인바운드 규칙
→ 새 규칙
을 클릭하여 아래와 같이 규칙을 등록한다. 등록 후 재시도 하여도 동일증상이 발현되면, 본 포스트의 2. SQL Server 구성 관리자 설정
단락으로 이동한다.
규칙 종류 | 포트 |
프로토콜 및 포트 | TCP 프로토콜, 특정 로컬 포트 1433 |
작업 | 연결 허용 |
프로필 | 모두 체크 |
이름 | 적절하게 입력 |
※ 1433
은 MSSQL의 기본 설정 포트로, 본인 MSSQL 서버 환경에 맞는 포트를 입력 후 규칙을 등록하면 된다.
1-2. MSSQL 인바운드 허용 규칙이 있을 경우
규칙의 속성을 확인한다. 프로토콜 및 포트에 상기와 같이 알맞은 정보가 삽입되어 있는지 확인한다. 이상이 없는데도 계속 증상이 발생한다면, 본 포스트의 2. SQL Server 구성 관리자 설정
단락으로 이동한다.
※ 1433
은 MSSQL의 기본 설정 포트로, 본인 MSSQL 서버 환경에 맞는 포트를 입력 후 규칙을 등록하면 된다.
2. SQL Server 구성 관리자 설정
Windows 작업 표시줄 검색
클릭 → 구성 관리자
검색 → SQL Server 2022 구성 관리자
를 클릭한다.
※ MSSQL 버전 환경에 따라 명칭이 일부 다를수도 있다.
좌측 트리 메뉴의 SQL Server 네트워크 구성
→ MSSQLSERVER에 대한 프로토콜 메뉴
를 클릭 후, TCP/IP 프로토콜 상태 사용여부를 확인한다. TCP/IP 프로토콜 상태가 사용 안 함
으로 되어 있으면 사용함
으로 바꿔준다.
TCP/IP 프로토콜의 속성
탭 → IP 주소
탭 클릭 후 TCP 포트가 본인이 의도한 대로 설정되었는지 확인한다. 1. Windows 방화벽 INBOUND 포트 허용
단락에서 허용했었던 포트와 동일한 포트로 설정되어 있어야 한다.
※ Windows 방화벽의 INBOUND 포트 허용은, 외부에서 해당 포트로 접근하는 것을 허용해준다는 뜻이다.
※ MSSQL 구성 설정에서의 포트 설정은, MSSQL 접속 포트를 의미한다.
※ 따라서, INBOUND 허용 포트 설정 ↔ MSSQL 구성 설정 포트 설정이 서로 일치해야 상호작용이 가능하다.
설정 변경을 완료했으면, 좌측 트리 메뉴의 SQL Server 서비스 클릭
→ SQL Server (MSSQLSERVER)
우측 클릭 → 다시 시작
버튼을 통해 MSSQL 서버를 다시 시작한다.