MSSQL에서의 연결 누설

이 오류는 프로그램의 연결 누설로 인한 것입니다.


MS-SQL Server에 시간 초과 접속한 모든 애플리케이션에 다음 오류가 표시됩니다.
Message=Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and the max pool size was reached.
대부분의 경우, 이러한 고장은 응용 프로그램의 연결 누출로 인한 것이다.다음 쿼리를 실행하여 MSSQL 서버의 연결 요청 목록을 확인합니다.
select count(1) conection_count, program_name, host_name, status, host_process_id from sys.dm_exec_sessions where is_user_process = 1 group by program_name, host_name, status, host_process_id order by 1 desc
연결 요청은 두 종류로 나뉜다.
  • 실행
  • 수면
  • 위의 검색은 실행 중이나 수면 중인 연결 목록을 되돌려줍니다.

    현재 위의 출력에서 나는 어떤 수면 라인도 없다.
    그러나 기본적으로 ADO는Net의 C# 응용 프로그램은 각 호스트 # 프로세스 #id의 최대 풀 크기를 100개의 연결로 설정합니다. 따라서 하나의 프로세스가 100개의 휴면 연결을 차지하면 누출될 수 있습니다.
    읽어 주셔서 감사합니다. 저는 당신이 이 문장을 좋아하길 바랍니다.의견 섹션에서 피드백을 보내 주십시오.

    따라와.


    C# Publication , , , , , Pinterest , Substack , Wix .

    좋은 웹페이지 즐겨찾기