연결 제거
연결 풀러는 풀이 오랫동안 유휴 상태이거나 풀러가 서버와의 연결이 끊 겼음을 감지하면 풀에서 연결을 제거합니다.
서버와의 통신을 시도한 후에 만 연결이 끊어 질 수 있습니다. 더 이상 서버에 연결되지 않은 연결이 발견되면 유효하지 않은 것으로 표시됩니다.
유효하지 않은 연결은 닫히거나 회수 될 때만 연결 풀에서 제거됩니다.
사라진 서버에 대한 연결이 존재하는 경우 연결 풀러가 끊긴 연결을 감지하지 못하고이를 유효하지 않은 것으로 표시 한 경우에도이 연결을 풀에서 가져올 수 있습니다.
연결이 여전히 유효한지 확인하는 오버 헤드로 인해 서버로의 또 다른 왕복이 발생하여 풀러를 갖는 이점이 제거되기 때문입니다.
이 경우 연결을 처음 사용하면 연결이 끊어 졌음을 감지하고 예외가 발생합니다.
기본적으로 마지막 문장의 예외입니다.
연결 풀에서 연결을 가져오고 응용 프로그램은 물리적 연결이 끊어 졌음을 알지 못하며 물리적 연결이 여전히 존재한다는 가정하에 사용하려고 시도합니다.
그리고 당신은 예외를 얻습니다.
여기에는 몇 가지 일반적인 이유가 있습니다.
- 서버가 다시 시작되었으므로 기존 연결이 닫힙니다.
이 경우 일반적으로 C : \ Program Files \ Microsoft SQL Server \\ MSSQL \ LOG에있는 SQL Server 로그를 살펴보십시오.
시작 타임 스탬프가 매우 최근 인 경우 오류가 발생한 것으로 의심 할 수 있습니다. 이 타임 스탬프와 예외 시간을 연관 시키십시오.
2009-04-16 11 : 32 : 15.62 서버 로그 'C : \ Program Files \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ LOG \ ERRORLOG'파일에 SQL Server 메시지가 기록됩니다.
- 누군가 또는 사용중인 SPID를 종료했습니다.
다시 한 번 SQL Server 로그를 살펴보십시오. 킬을 찾으면이 타임 스탬프를 예외 시간과 연관 시키십시오.
spidXX 프로세스 ID XX는 호스트 이름 xxxxx, 호스트 프로세스 ID XXXX에 의해 종료되었습니다.
- 장애 조치 (예 : 미러 설정)가 다시 발생하면 SQL Server 로그를 살펴보십시오.
장애 조치가있는 경우이 타임 스탬프를 예외 시간과 연관 시키십시오.
2009-04-16 11 : 35 : 12.93 spidXX 장애 조치 (failover)로 인해 미러 된 데이터베이스 ""이 (가) 역할을 "PRINCIPAL"에서 "MIRROR"로 변경하고 있습니다.