문제

이 질문은 이미 있는 대답을 여기:

을 이해하려고 어떤 Sql 프로파일러 수단에 의해 발광"sp_reset_connection".

나는 다음과 같은,"exec sp_reset_connection"라인에 의해 다음 BatchStarting 및 완료

RPC:Completed       exec sp_reset_connection
SQL:BatchStarting   SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c]
SQL:BatchCompleted  SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c]    

기본적으로는 첫 번째 줄은"exec sp_reset_connection"의 의미 전체 프로세스(내 연결을 열었 선택 stmt 실행,연결을 닫은 다음과제 수영장)을까요?또는 나이의 연결은 여전히 열기 단계입니다.

고,왜 sp_reset_connection 실행되기 전에 자신의 선택 문되지 않는다 그것을 다시 설정 후 사용자의 sql?

내가 노력하고 알 수 있는 방법을 알아서 더 자세히 때 연결이 열리고 닫?

을 보고"exec sp_reset_connection",그 뜻을 연결이 닫혔습니까?

도움이 되었습니까?

해결책

다음과 같은 다른 답했다, sp_reset_connection 을 나타내는 연결이 수영장은 다시 사용할 수 있습니다.알고 있어야 하는 특정 받는다.

지미 메이스'MSDN 블로그

sp_reset_connection 다시 설정하지 않은 트랜잭션 수준을 격리 서버에서 기본값이 이전 연결의 설정입니다.

업데이트:SQL2014,클라이언트 드라이버 TDS 버전 7.3 이상,트랜잭션의 격리 수준을 재설정됩니다하는 기본입니다.

ref: SQL Server:Isolation level 누수 통해 풀 연결

여기에 몇 가지 추가 정보:

무엇 sp_reset_connection 니까?

데이터 액세스 API 의 층은 다음과 같 ODBC OLE DB 시스템입니다.데이터입니다.따라 모든 전화는(내부)저장 프로시저 sp_reset_connection 다시 사용하는 경우 에 연결 연결에서 수영장도 있습니다.그 이것을 다시 설정의 상태 연결하기 전에 그것을 가져 다시 사용, 그러나 어디가 무엇이 문서화 는 것들을 다시 얻을.이 문서 을 문서화하는 부분의 는 연결을 다시 얻을.

sp_reset_connection 시 다음과 같은 측면의 연결:

  • 모든 오류가국 및 번호 (다음과 같@@오류가)

  • 정지한 모든 EC 의(실행 컨텍스트) 는 것은 아이의 스레드 부모 EC 실행한 병렬 쿼리

  • 대한 모든 I/O 는 작업이 뛰어난

  • 를 해제 개최에서 버퍼 서버에 연결

  • 잠금을 해제하는 모든 버퍼 resources 에 사용되는 연결

  • 모든 할당된 메모리 소유에 의해 연결

  • 지웁니다 모든 작업 또는 임시 테이블에 의해 생성 연결

  • 죽이고 전 세계 모든 커서에 의해 소유 연결

  • 닫 열려 있는 모든 SQL,XML 처리하는 오픈

  • 삭제 열려 있는 모든 SQL,XML 관련 작업 테이블

  • 닫 모든 테이블의 시스템

  • 모두 닫는 사용자의 테이블

  • 모든 임시체

  • 중단 거래

  • 에서 결함이 분산 트랜잭션으로 등록된 경우

  • 참조 횟수를 줄 사용자에 대한 현재 데이터베이스는 릴리스 공유된 데이터베이스에 자물쇠

  • 을 확보 취득한 잠금 장치

  • 릴리스의 어떤 취득 처리

  • 모든 옵션을 설정하는 기본값

  • 정@rowcount 값

  • 다@@id 값

  • 다 세션 수준을 추적 옵션을 사용하여 dbcc traceon()

  • 정을 CONTEXT_INFO NULL 에서 SQL2005 년과 최신 서버 [지의 일부 원본 문서]

sp_reset_connection 재설정하지 않습니다:

  • 보안 컨텍스트는 이유 connection pooling 치 연결 기반의 정확한 연결 문자열

  • 응용 프로그램의 역할을 입력 사용 sp_setapprole 때문에,응용 프로그램 역할을 수 있는지 되돌리려면

참고:나는 포함한 목록으로 여기에 나는 그것을 원하지 않을 잃어가 이제까지 일시적인 웹.

다른 팁

그것의 표시를 연결 풀링이 사용되고 있(는 것은 좋은 일).

그러나 참고:

는 경우 당신은 문제 SET TRANSACTION ISOLATION LEVEL 에서 저장된 절차 또는 트리거할 때는 객체 반환하 제어 격리 수준은 수준으로 다시 설정에 효력을 경우 객체를 호출됩니다.예를 들어,설정할 경우 반복 가능한 읽는 배치에서,그리고 배치한 다음 호출 저장 프로시저를 설정하는 격리 수준을 SERIALIZABLE 격리 수준 설정으로 되돌아갑을 반복 가능한 읽을 때 저장 프로시저 제어를 반환합니다.

http://msdn.microsoft.com/en-us/library/ms173763.aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top