확장 이벤트Extended Events

이 항목은 다음에 적용됩니다.예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 확장 이벤트는 확장성이 높고 다양하게 구성 가능한 인프라를 갖추고 있으므로 사용자는 이를 통해 문제를 해결하거나 성능 문제를 파악하는 데 필요한 만큼의 정보만 수집할 수 있습니다. Extended Events has a highly scalable and highly configurable architecture that allows users to collect as much or as little information as is necessary to troubleshoot or identify a performance problem.

확장 이벤트에 대한 자세한 내용은 다음을 참조하세요.You can find more information about Extended Events at:

SQL ServerSQL Server 확장 이벤트의 이점Benefits of SQL ServerSQL Server Extended Events

확장 이벤트는 성능 리소스를 적게 사용하는 간단한 성능 모니터링 시스템입니다.Extended Events is a light weight performance monitoring system that uses very few performance resources. 확장 이벤트에서는새 세션 마법사새 세션이라는 두 가지 그래픽 사용자 인터페이스가 제공되므로 세션 데이터를 작성, 수정, 표시 및 분석할 수 있습니다.Extended Events provides two graphical user interfaces (New Session Wizard and New Session) to create, modify, display, and analyze your session data.

확장 이벤트 개념Extended Events Concepts

SQL ServerSQL Server 확장 이벤트(Extended Event)는 이벤트나 이벤트 소비자와 같은 기존 개념을 바탕으로 하고 Windows용 이벤트 추적의 개념을 사용하며 여기에 새로운 개념을 도입했습니다. Extended Events (Extended Events) builds on existing concepts, such as an event or an event consumer, uses concepts from Event Tracing for Windows, and introduces new concepts.

다음 표는 확장 이벤트의 개념에 대해 설명합니다.The following table describes the concepts in Extended Events.

항목Topic DescriptionDescription
SQL Server 확장 이벤트 패키지SQL Server Extended Events Packages 확장 이벤트 세션이 실행 중일 때 데이터를 얻거나 처리하는 데 사용되는 개체가 포함된 확장 이벤트 패키지에 대해 설명합니다.Describes the Extended Events packages that contain objects that are used for obtaining and processing data when an Extended Events session is running.
SQL Server 확장 이벤트 대상SQL Server Extended Events Targets 이벤트 세션이 지속되는 동안 데이터를 수신할 수 있는 이벤트 소비자에 대해 설명합니다.Describes the event consumers that can receive data during an event session.
SQL Server 확장 이벤트 엔진SQL Server Extended Events Engine 확장 이벤트 세션을 구현 및 관리하는 엔진에 대해 설명합니다.Describes the engine that implements and manages an Extended Events session.
SQL Server 확장 이벤트 세션SQL Server Extended Events Sessions 확장 이벤트 세션에 대해 설명합니다.Describes the Extended Events session.

확장 이벤트 아키텍처Extended Events Architecture

확장 이벤트는 서버 시스템을 위한 일반적인 이벤트 처리 시스템입니다.Extended Events (Extended Events) is a general event-handling system for server systems. 확장 이벤트 인프라는 SQL ServerSQL Server데이터와의 연계가 가능하고 특정 조건에서는 운영 체제 및 데이터베이스 응용 프로그램 데이터와 연계해서 사용할 수 있는 기능도 지원합니다.The Extended Events infrastructure supports the correlation of data from SQL ServerSQL Server, and under certain conditions, the correlation of data from the operating system and database applications. 후자의 경우 운영 체제 또는 응용 프로그램 이벤트 데이터와 이벤트 데이터의 상관 관계를 파악하려면 확장 이벤트 출력을 ETW(Windows용 이벤트 추적)로 전송해야 합니다.In the latter case, Extended Events output must be directed to Event Tracing for Windows (ETW) to correlate the event data with operating system or application event data.

모든 응용 프로그램에는 응용 프로그램 내부 및 외부 모두에서 유용한 실행 지점이 있습니다.All applications have execution points that are useful both inside and outside an application. 응용 프로그램 내부에서는 태스크의 초기 실행 중에 수집된 정보를 사용하여 비동기 처리를 큐에 넣을 수 있습니다.Inside the application, asynchronous processing may be enqueued using information that is collected during the initial execution of a task. 응용 프로그램 외부의 경우 실행 지점은 모니터링되는 응용 프로그램의 동작 및 성능 특성에 대한 정보를 모니터링 유틸리티에 제공합니다.Outside the application, execution points provide monitoring utilities with information about the behavioral and performance characteristics of the monitored application.

확장 이벤트는 프로세스 외부에서의 이벤트 데이터 사용을 지원하며Extended Events supports using event data outside a process. 이러한 데이터는 일반적으로 다음에서 사용됩니다.This data is typically used by:

  • SQL 추적 및 시스템 모니터와 같은 추적 도구Tracing tools, such as SQL Trace and System Monitor.

  • Windows 이벤트 로그 또는 SQL ServerSQL Server 오류 로그 등의 로깅 도구Logging tools, such as the Windows event log or the SQL ServerSQL Server error log.

  • 제품을 관리하거나 제품의 응용 프로그램을 개발하는 사용자Users administering a product or developing applications on a product.

    확장 이벤트는 다음과 같은 주요 요소를 고려하여 디자인되었습니다.Extended Events has the following key design aspects:

  • 확장 이벤트 엔진은 이벤트 중립적입니다.The Extended Events engine is event agnostic. 즉, 이벤트 내용에 따른 제한이 없으므로 모든 이벤트를 모든 대상에 바인딩할 수 있습니다.This enables the engine to bind any event to any target because the engine is not constrained by event content. 확장 이벤트 엔진에 대한 자세한 내용은 SQL Server Extended Events Engine을 참조하십시오.For more information about the Extended Events engine, see SQL Server Extended Events Engine.

  • 이벤트는 확장 이벤트의 대상 이라고 하는 이벤트 소비자와 분리됩니다.Events are separated from event consumers, which are called targets in Extended Events. 따라서 모든 대상이 모든 이벤트를 수신할 수 있습니다.This means that any target can receive any event. 또한 발생한 모든 이벤트는 대상에서 자동으로 사용되므로 추가 이벤트 컨텍스트가 기록되거나 제공될 수 있습니다.In addition, any event that is raised can be automatically consumed by the target, which can log or provide additional event context. 자세한 내용은 SQL Server Extended Events Targets을 참조하세요.For more information, see SQL Server Extended Events Targets.

  • 이벤트는 이벤트가 발생할 때 실행되는 동작과는 별개입니다.Events are distinct from the action to take when an event occurs. 따라서 모든 이벤트에 모든 동작을 연결할 수 있습니다.Therefore, any action can be associated with any event.

  • 조건자를 사용하면 이벤트 데이터를 캡처해야 할 때를 동적으로 필터링할 수 있으므로Predicates can dynamically filter when event data should be captured. 확장 이벤트 인프라의 유연성이 높아집니다.This adds to the flexibility of the Extended Events infrastructure. 자세한 내용은 SQL Server Extended Events Packages을 참조하세요.For more information, see SQL Server Extended Events Packages.

    확장 이벤트는 이벤트 데이터를 동기적으로 생성하고 데이터를 비동기적으로 처리하여 유연한 이벤트 처리 솔루션을 제공합니다.Extended Events can synchronously generate event data (and asynchronously process that data) which provides a flexible solution for event handling. 또한 확장 이벤트는 다음 기능도 지원합니다.In addition, Extended Events provides the following features:

  • 사용자가 문제 해결을 위해 특정 이벤트를 격리할 수 있도록 허용하면서 서버 시스템 전체에서 일관된 이벤트 처리 방식A unified approach to handling events across the server system, while enabling users to isolate specific events for troubleshooting purposes.

  • 기존 ETW 도구 통합 및 지원Integration with, and support for existing ETW tools.

  • Transact-SQLTransact-SQL을 기반으로 하는 완전히 구성 가능한 이벤트 처리 메커니즘A fully configurable event handling mechanism that is based on Transact-SQLTransact-SQL.

  • 활성 프로세스에 거의 영향을 주지 않고 동적으로 이를 모니터링할 수 있는 기능The ability to dynamically monitor active processes, while having minimal effect on those processes.

  • 성능에 크게 영향을 주지 않고 실행되는 기본 시스템 상태 세션.A default system health session that runs without any noticeable performance effects. 이 세션은 성능 문제를 해결하는 데 사용할 수 있는 시스템 데이터를 수집합니다.The session collects system data that you can use to help troubleshoot performance issues. 자세한 내용은 system_health 세션 사용을 참조하세요.For more information, see Use the system_health Session.

확장 이벤트 태스크Extended Events Tasks

Management StudioManagement Studio 또는 Transact-SQLTransact-SQL 을 사용하여 Transact-SQLTransact-SQL DDL(데이터 정의 언어) 문, 동적 관리 뷰와 함수 또는 카탈로그 뷰를 실행하면 사용 중인 SQL ServerSQL Server 환경에 맞는 간단하거나 복잡한 SQL ServerSQL Server 확장 이벤트 문제 해결 솔루션을 만들 수 있습니다.Using Management StudioManagement Studio or Transact-SQLTransact-SQL to execute Transact-SQLTransact-SQL Data Definition Language (DDL) statements, dynamic management views and functions, or catalog views, you can create simple or complex SQL ServerSQL Server Extended Events troubleshooting solutions for your SQL ServerSQL Server environment.

태스크 설명Task Description 항목Topic
개체 탐색기 를 사용하여 이벤트 세션을 관리합니다.Use the Object Explorer to manage event sessions. 개체 탐색기에서 이벤트 세션 관리Manage Event Sessions in the Object Explorer
확장 이벤트 세션을 만드는 방법에 대해 설명합니다.Describes how to create an Extended Events session. 확장 이벤트 세션 만들기Create an Extended Events Session
대상 데이터를 보고 새로 고치는 방법에 대해 설명합니다.Describes how to view and refresh target data. SQL Server 확장 이벤트의 대상 데이터 고급 보기Advanced Viewing of Target Data from Extended Events in SQL Server
확장 이벤트 도구를 사용하여 SQL ServerSQL Server 확장 이벤트 세션을 만들고 관리하는 방법에 대해 설명합니다.Describes how to use Extended Events tools to create and manage your SQL ServerSQL Server Extended Events sessions. 확장 이벤트 도구Extended Events Tools
확장 이벤트 세션을 변경하는 방법에 대해 설명합니다.Describes how to alter an Extended Events session. 확장 이벤트 세션 변경Alter an Extended Events Session
이벤트와 관련된 필드에 대한 정보를 가져오는 방법에 대해 설명합니다.Describes how to get information about the fields associated with the events. 모든 이벤트에 대한 필드 가져오기Get the Fields for All Events
등록된 패키지에서 사용할 수 있는 이벤트를 확인하는 방법에 대해 설명합니다.Describes how to find out what events are available in the registered packages. 등록된 패키지에 대한 이벤트 보기View the Events for Registered Packages
등록된 패키지에서 사용할 수 있는 확장 이벤트 대상을 확인하는 방법에 대해 설명합니다.Describes how to determine what Extended Events targets are available in the registered packages. 등록된 패키지의 확장 이벤트 대상 보기View the Extended Events Targets for Registered Packages
각 SQL 추적 이벤트 및 관련 열에 해당하는 확장 이벤트의 이벤트 및 동작을 확인하는 방법에 대해 설명합니다.Describes how to view the Extended Events events and actions that are equivalent to each SQL Trace event and its associated columns. SQL 추적 이벤트 클래스에 해당하는 확장 이벤트 항목 확인View the Extended Events Equivalents to SQL Trace Event Classes
CREATE EVENT SESSION 또는 ALTER EVENT SESSION에 ADD TARGET 인수를 사용할 경우에 설정할 수 있는 매개 변수를 확인하는 방법에 대해 설명합니다.Describes how to find the parameters you can set when you use the ADD TARGET argument in CREATE EVENT SESSION or ALTER EVENT SESSION. ADD TARGET 인수에 대한 구성 가능한 매개 변수 가져오기Get the Configurable Parameters for the ADD TARGET Argument
기존 SQL 추적 스크립트를 확장 이벤트 세션으로 변환하는 방법에 대해 설명합니다.Describes how to convert an existing SQL Trace script to an Extended Events session. 기존 SQL 추적 스크립트를 확장 이벤트 세션으로 변환Convert an Existing SQL Trace Script to an Extended Events Session
잠금을 보유 중인 쿼리, 쿼리 계획 및 잠긴 시점의 Transact-SQLTransact-SQL 스택을 확인하는 방법에 대해 설명합니다.Describes how to determine which queries are holding the lock, the plan of the query, and the Transact-SQLTransact-SQL stack at the time the lock was taken. 잠금을 보유한 쿼리 파악Determine Which Queries Are Holding Locks
데이터베이스 성능을 저하시키는 잠금의 원인을 파악하는 방법에 대해 설명합니다.Describes how to identify the source of locks that are hindering database performance. 가장 많은 잠금이 발생한 개체 찾기Find the Objects That Have the Most Locks Taken on Them
확장 이벤트를 Windows용 이벤트 추적과 함께 사용하여 시스템 작업을 모니터링하는 방법에 대해 설명합니다.Describes how to use Extended Events with Event Tracing for Windows to monitor system activity. 확장 이벤트를 사용하여 시스템 작업 모니터링Monitor System Activity Using Extended Events
확장 이벤트 대해 카탈로그 뷰 및 DMV(동적 관리 뷰) 사용Using the Catalog views and the Dynamic management views (DMVs) for extended events SQL Server 확장 이벤트에 대한 시스템 뷰의 SELECT 및 JOINSELECTs and JOINs From System Views for Extended Events in SQL Server

관련 항목:See Also

데이터 계층 응용 프로그램 Data-tier Applications
SQL Server 개체 및 버전에 대한 DAC 지원 DAC Support For SQL Server Objects and Versions
데이터 계층 응용 프로그램 배포 Deploy a Data-tier Application
데이터 계층 응용 프로그램 모니터링 Monitor Data-tier Applications
확장 이벤트 동적 관리 뷰 Extended Events Dynamic Management Views
확장 이벤트 카탈로그 뷰(Transact-SQL) Extended Events Catalog Views (Transact-SQL)