SQL Server 확장 이벤트 엔진SQL Server Extended Events Engine

이 항목은 다음에 적용됩니다.예SQL Server(2014부터)예Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2014)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

SQL ServerSQL Server 확장 이벤트 엔진은 다음과 같은 역할을 하는 서비스 및 개체의 집합입니다.The SQL ServerSQL Server Extended Events engine is a collection of services and objects that:

  • 이벤트를 정의할 수 있도록 합니다.Enable the definition of events.

  • 이벤트 데이터를 처리할 수 있도록 합니다.Enable processing event data.

  • 시스템의 확장 이벤트 서비스 및 개체를 관리합니다.Manage Extended Events services and objects in the system.

  • 확장 이벤트 세션의 목록을 유지 관리하고 이 목록에 대한 액세스를 관리합니다.Maintain a list of Extended Events sessions and manage access to that list.

    확장 이벤트 엔진 자체는 이벤트가 발생할 때 실행할 이벤트 또는 동작을 지정하지 않습니다.The Extended Events engine itself does not provide any events or actions to take when an event fires. 대신 확장 이벤트 엔진을 사용하는 프로세스가 엔진과의 상호 작용을 정의하며The processes that use the Extended Events engine define interaction with the engine. 이벤트 지점을 추가하고 이벤트 발생에 대한 응답으로 실행할 동작을 지정합니다.These processes add event points and supply the actions to take in response to event firing.

    다음 그림은 확장 이벤트 세션을 간략히 요약하여 보여 줍니다.The following illustration shows a simplified view of an Extended Events session. 자세한 내용은 SQL Server Extended Events Sessions을 참조하세요.For more information, see SQL Server Extended Events Sessions.

    자세한 확장 이벤트 아키텍처Detailed extended events architecture

    다음에 유의하세요.Note the following:

  • 각 Windows 프로세스에는 하나 이상의 모듈(Win32 프로세스, Win32 모듈)이 있을 수 있습니다.Each Windows process can have one or more modules (Win32 process, Win32 module). 이를 바이너리 또는 실행 모듈이라고도 합니다.These are also known as binaries or executable modules.

  • 각 Windows 프로세스 모듈은 하나 이상의 확장 이벤트 개체(Type,Target, Action, Map, PredicateEvent)가 포함된 확장 이벤트 패키지( Package)를 포함할 수 있습니다.Each of the Windows process modules can contain one or more Extended Events packages (Package), which contain one or more Extended Events objects (Type, Target, Action, Map, Predicate, and Event).

  • 호스트 프로세스 내부에는 다음과 같은 역할을 하는 확장 이벤트 엔진(Extended event engine)의 인스턴스가 하나만 포함될 수 있습니다.Inside a host process there can only be one instance of the Extended Events engine (Extended event engine), which:

    • 세션 열거와 같은 세션의 일부 기능을 관리합니다.Manages some aspects of the session (for example, enumerating sessions).

    • 디스패치(Dispatcher)를 처리합니다.Handles dispatching (Dispatcher). 이는 스레드 풀과 유사합니다.This is similar to a thread pool.

    • 이벤트를 위한 메모리 버퍼(Buffer)를 처리합니다.Handles memory buffers (Buffer) for events. 버퍼가 가득 차면 대상으로 디스패치됩니다.When buffers are filled, the buffers are dispatched to targets.

  • 세션이 생성되고 이벤트가 선택적으로 세션(Session context)에 바인딩된 후 다음이 수행됩니다.After a session is created and events are optionally bound to the session (Session context):

    • 대상의 인스턴스(Target instance)가 생성되어 세션에 추가됩니다.Instances of targets (Target instance) may be also be created and added to the session.

    • 버퍼가 가득 차면 해당 버퍼가 대상으로 디스패치됩니다.When buffers are filled, those buffers are dispatched to targets.

참고 항목See Also

확장 이벤트Extended Events