연결과 세션의 차이점은 무엇입니까?


51

연결과 세션의 차이점은 무엇이며 어떻게 연결되어 있습니까?

답변:


54

연결은 SQL Server와 응용 프로그램 간의 물리적 통신 채널입니다 (TCP 소켓, 명명 된 파이프, 공유 메모리 영역). SQL Server의 세션은의 위키 백과 정의에 해당하는 세션 : 국가의 반영구적 컨테이너 정보 교환을 위해. 즉, 세션에는 로그인 정보 캐시, 현재 트랜잭션 격리 수준, 세션 수준 SET 등과 같은 설정이 저장 됩니다 .

일반적으로 각 연결마다 하나의 세션이 있지만 단일 연결 ( 여러 개의 활성 결과 세트 , MARS)에는 여러 개의 세션이있을 수 있으며 연결 이없는 세션이 있습니다 ( SSB 활성화 프로 시저 , 시스템 세션 ). 세션없이 연결, 즉 데이터베이스 미러링 sys.dm_db_mirroring_connections또는 Service Broker 연결 과 같은 비 TDS 목적으로 사용되는 연결도 sys.dm_broker_connections있습니다.


SSMS가 MARS를 사용하고 있으며 따라서 열려있는 각 파일 탭에서 다른 세션을 사용하고 있다는 점을 인식 할 때 #temp세션 범위에 따라 열려있는 다른 파일 탭에서 테이블을 삭제하거나 선택할 수 없습니다.
GibralterTop

4
  • 연결은 네트워크 또는 공유 메모리를 통한 로컬 서버 연결을 나타냅니다.

  • 세션은 SQL Server 내의 사용자 프로세스를 나타냅니다.

  • 연결은 하나 이상의 세션과 연결될 수 있습니다.


3

sys.dm_exec_sessions 동적 관리 뷰를 쿼리하여 SQL Server 2012 인스턴스에서 공통 기준 준수가 활성화 된 경우 성공적이고 실패한 로그인에 대한 정보를 얻을 수 있습니다.

sys.dm_exec_connections 동적 관리 뷰는 데이터베이스 엔진 인스턴스에 설정된 연결에 대한 정보를 제공합니다. SQL Server 2012 인스턴스에서 공통 기준 준수가 활성화 된 경우 로그인 성공 및 실패에 대한 정보를 얻기 위해이 동적 관리 뷰를 쿼리 할 수 ​​없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.