문제 해결: 연결 강제 종료
이 오류는 TCP/IP를 사용하여 SQL Server에 연결할 때 발생할 수 있습니다.
오류 텍스트
이 오류는 다음 형식으로 발생할 수 있습니다.
TCP_PROV: 현재 연결이 원격 호스트에 의해 강제로 끊겼습니다.
"ProviderNum: 7, Error: 10054, ErrorMessage: "TCP 공급자: 현재 연결이 원격 호스트에 의해 강제로 끊겼습니다...".
처리되지 않은 예외: 서버로 요청을 보내는 중 전송 수준 오류가 발생했습니다. (공급자: TCP 공급자, 오류: 0 - 현재 현결이 원격 호스트에 의해 강제로 끊겼습니다.)
이 오류의 일반적 원인
다음 표에는 이 오류의 일반적 원인과 해결 방법이 나와 있습니다.
원인 |
해결 방법 |
---|---|
클라이언트가 지원되지 않는 버전의 SQL Server Native Client에 연결되어 있습니다. |
클라이언트 컴퓨터를 지원되는 버전의 SQL Server Native Client로 업데이트하십시오. |
손상된 네트워크 하드웨어가 TCP 트래픽의 일부를 끊었습니다. |
네트워크 모니터링 프로그램을 사용하여 TCP SYN, ACK, FIN메시지를 분석하십시오. |
SynAttackProtect 설정으로 인해 연결이 끊어질 수 있습니다. |
다음에 나오는 "Windows Server 2003 SP1에서 실행할 경우 연결이 강제로 끊어질 수 있음" 섹션을 참조하십시오. |
Windows Server 2003 SP1에서 실행할 경우 연결이 강제로 끊어질 수 있음
Windows Server 2003 서비스 팩 1에서 실행되는 SQL Server 데이터베이스 엔진 인스턴스에 대한 많은 클라이언트 연결 시도를 사용하여 확장성을 테스트할 때 요청이 SQL Server의 서비스 속도보다 빨리 도착할 경우 Windows에서 연결을 삭제할 수 있습니다. 이것은 Windows Server 2003 서비스 팩 1의 보안 기능으로, 들어오는 TCP 연결 요청에 대한 한정된 큐를 구현합니다.
이 문제를 해결하려면 regedit.exe 유틸리티를 사용하여 다음 레지스트리 키를 추가합니다.
키 |
유형 |
이름 |
값 |
---|---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ |
DWORD |
SynAttackProtect |
00000000 |
보안 정보 |
---|
이 레지스트리 키를 설정하면 서버가 SYN 초과 서비스 거부 공격에 노출될 수 있습니다. 필요한 경우에만 보안 위험을 충분히 숙지한 상태에서 이 레지스트리 값을 추가하십시오. 테스트가 끝나면 이 레지스트리 키 값을 제거하십시오. |