확장 이벤트 엔진

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

확장 이벤트 엔진은 다음과 같은 서비스 및 개체의 컬렉션입니다.

  • 이벤트 정의 사용
  • 이벤트 데이터 처리 사용
  • 시스템에서 확장 이벤트 서비스 및 개체 관리
  • 확장 이벤트 세션 목록 유지 관리 및 해당 목록에 대한 액세스 관리

확장 이벤트 엔진 자체는 이벤트가 발생할 때 수행할 이벤트 또는 작업을 제공하지 않습니다. 확장 이벤트 엔진을 사용하는 프로세스는 엔진과의 상호 작용을 정의합니다. 이러한 프로세스는 이벤트 지점을 추가하고 이벤트 발생에 대응하여 수행할 작업을 제공합니다.

다음 그림에서는 확장 이벤트 세션의 간소화된 보기를 보여 줍니다. 자세한 내용은 확장 이벤트 세션을 참조 하세요.

Diagram showing the detailed Extended Events architecture.

  • 각 Windows 프로세스에는 하나 이상의 모듈(Win32 processWin32 module이진 파일 또는 실행 가능한 모듈이라고도 함)이 있을 수 있습니다.
  • 각 Windows 프로세스 모듈에는 하나 이상의 확장 이벤트 개체(Package,, Target, PredicateActionMap및)를 포함하는 하나 이상의 확장 이벤트 패키지(Type)가 포함될 수 있습니다.Event
  • 호스트 프로세스 내에는 확장 이벤트 엔진(Extended event engine)의 인스턴스가 하나만 있을 수 있습니다.
    • 세션의 일부 측면(예: 세션 열거)을 관리합니다.
    • 스레드 풀과 유사한 디스패치(Dispatcher)를 처리합니다.
    • 이벤트에 대한 메모리 버퍼(Buffer)를 처리합니다. 버퍼가 채워지면 버퍼가 대상에 디스패치됩니다.
  • 세션이 만들어지고 이벤트가 필요에 따라 세션에 바인딩된 후(Session context):
    • 대상 인스턴스(Target instance)를 만들고 세션에 추가할 수도 있습니다.
    • 버퍼가 채워지면 해당 버퍼가 대상으로 디스패치됩니다.