2011-02-17 3 views
1

SQL SELECT 문 중 하나에서이 예외가 발생합니다. sysmessages 테이블에서 3617 오류를 찾을 수 없습니다. .Class는 25입니다. 메시지가 없습니다.SqlClient.SqlException .Number = 3617 .State = 68

우리는 SQL Server 2005 서버를 사용하고 있습니다.

이 테이블은 여러 테이블을 조인하고 CLR을 사용하여 일부 데이터를 결합하고 정렬하는 대형 선택임을 알고 있습니다.

이 오류의 원인 또는 오류 코드의 의미를 알 수있는 곳은 무엇입니까?

답변

2

Discussion on Microsoft forums에서이 게시물을 마지막으로 사회자의 답을 확인하십시오.

업데이트는 (포럼 게시물에서 추가 된 텍스트) :

오류 코드 3617는 시스템 관심이다. 클라이언트가 실행중인 요청을 취소하면 시스템주의가 발생합니다. 예를 들어 명령이 시간 초과 될 경우이 문제가 발생할 수 있습니다. 그러나이 오류는 일반적으로 클라이언트로 전송되지 않습니다.

타격을 입을 수있는 특별한 경우가 있습니다. 풀링 된 연결을 다시 사용할 때 첫 번째 아웃 바운드 요청은 요청시 특수 비트 플래그 을 전송하여 요청을 실행하기 전에 서버에 연결 상태를 다시 설정하도록합니다. 이 비트를 사용하면 서버가 먼저 연결 상태를 지우고 명령을 실행합니다. SQL Server에 과부하가 걸리고이 비트가 설정되어 있고 연결 시간을 길게 설정하면 클라이언트가 시간 초과되고 시스템에주의를 보낼 수 있습니다. 이로 인해 에 대한 연결 재설정이 취소되고이 경우 클라이언트에 3617이 전송 된 것을 볼 수 있습니다.

은 오류가 본래 이상한 가짜 문자 (이 오류가 발생할 수도 있고 그렇지 않을 수도 있음)을 보내기 때문에 최신 버전에서이 코드를 강화했습니다. " 현재 명령에서 심각한 오류가 발생했습니다. 결과가있는 경우이를 버려야합니다. 사용자가 작업을 취소했습니다."라는 오류 메시지가 나타날 수 있습니다.

는이 문제가있는 경우, 확인 아래와 같은 오류 에 대한 SQL 오류 로그를 검사하려면 : 연결 풀링을 위해 다시 한 SPID (51), 세션을 재사용하는 동안

spid51의 작업 중단을 요청했다. 세션 이 종료됩니다.