SQL Server 확장 이벤트의 대상 데이터 고급 보기Advanced Viewing of Target Data from Extended Events in SQL Server

이 항목은 다음에 적용됩니다.예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 Server Management Studio(SSMS.exe)의 고급 기능을 사용하여 확장 이벤트에서 대상 데이터를 상세하게 보는 방법이 나와 있습니다.This article illustrates how you can use the advanced features of SQL Server Management Studio (SSMS.exe) to view the target data from extended events in rich detail. 이 문서에서는 다음을 수행하는 방법을 설명합니다.The article explains how to:

  • 다양한 방법으로 대상 데이터 보기 및 열기Open and view the target data, in various ways.
  • 확장 이벤트에 대한 특별한 메뉴 또는 도구 모음을 사용하여 다양한 형식으로 대상 데이터 내보내기Export the target data to various formats, by using the special menu or toolbar for extended events.
  • 데이터 보기 동안 또는 내보내기 전에 데이터 조작Manipulate the data while viewing, or before exporting.

필수 구성 요소Prerequisites

현재 문서에서는 이벤트 세션을 만들고 시작하는 방법은 이미 알고 있다고 가정합니다.The present article assumes you already know how to create and start an event session. 이벤트 세션을 만드는 방법은 다음 문서에서 이미 설명했습니다.Instructions on how to create an event session are demonstrated early in the following article:

빠른 시작: SQL Server의 확장 이벤트Quick Start: Extended Events in SQL Server

이 문서에서는 또한 SSMS의 가장 최신 릴리스를 설치했다고 가정합니다.This article also assumes you have installed a very recent monthly release of SSMS. 설치 도움말은 다음을 참조하세요.Installation help is at:

Azure SQL 데이터베이스와의 차이점Differences with Azure SQL Database

두 제품, Microsoft SQL Server와 Azure SQL 데이터베이스는 확장 이벤트 구현 및 기능에서 높은 수준의 패리티가 있습니다.There is a high degree of parity in the implementation and capabilities of extended events in the two products Microsoft SQL Server and Azure SQL Database. 그러나 SSMS UI(사용자 인터페이스)에 영향을 주는 몇 가지 차이점이 있습니다.But there are some differences that affect the SSMS UI (user interface).

  • SQL 데이터베이스의 경우 로컬 디스크 드라이브의 파일은 package0.event_file의 대상이 될 수 없습니다.For SQL Database, the package0.event_file target cannot be a file on the local disk drive. 대신, Azure Storage 컨테이너를 사용해야 합니다.Instead, an Azure Storage container must be used. 따라서 SQL 데이터베이스에 연결된 경우, SSMS UI는 로컬 경로 및 파일 이름 대신 저장소 컨테이너를 요청합니다.Therefore when you are connected to SQL Database, the SSMS UI asks for a storage container, instead of a local path and file name.

  • SSMS UI에서 라이브 데이터 감시 확인란이 회색으로 표시되고 비활성화되어 있으면 SQL 데이터베이스에 해당 기능을 사용할 수 없기 때문입니다.In the SSMS UI when you see the check box Watch live data is grayed and disabled, it is because that feature is not available for SQL Database.

  • 몇 가지 확장 이벤트는 SQL Server와 함께 설치됩니다.A few extended events are installed with SQL Server. 세션 노드에서 AlwaysOn_health 등을 확인할 수 있습니다.Under the Sessions node we can see AlwaysOn_health plus a couple others. 이러한 이벤트는 SQL 데이터베이스에는 없기 때문에 SQL 데이터베이스에 연결되어 있을 때는 표시되지 않습니다.These are not visible when connected to SQL Database because they do not exist for SQL Database.

현재 문서는 SQL Server의 관점에서 작성되었습니다.The present article is written from the perspective of SQL Server. 이 문서에서 사용하는 event_file 대상은 차이점 중 하나입니다.The article uses the event_file target, which is one area of differences. 중요한 차이점 또는 불분명한 차이점은 추가로 설명합니다.Further mentions of any differences are limited to important or non-obvious differences.

Azure SQL 데이터베이스와 관련된 확장 이벤트에 대한 설명은 다음을 참조하세요.For documentation about extended events that is specific to Azure SQL Database, see:

1.A. 일반 옵션General options

일반적으로 고급 옵션은 다음과 같은 방법으로 액세스됩니다.Generally the advanced options are accessed by the following means:

  • 파일 > 열기 > 파일의 일반 메뉴입니다.The regular menu of File > Open > File.
  • 개체 탐색기 에서 관리 > 확장 이벤트에서 마우스 오른쪽 단추로 클릭합니다.Right-clicks in the Object Explorer under Management > Extended Events.
  • 확장 이벤트특별 메뉴와 확장 이벤트의 특별 도구 모음이 나타납니다.The special menu Extended Events, and the special toolbar for extended events.
  • 대상 데이터가 표시되는 탭 창에서 마우스 오른쪽 단추로 클릭합니다.Right-clicks in the tabbed pane that displays the target data.

2.B. 대상 데이터를 표시하기 위해 SSMS로 가져오기Bring target data into SSMS for display

SSMS UI에 event_file 대상 데이터를 가져오는 방법에는 여러 가지가 있습니다.There are various ways to bring event_file target data into the SSMS UI. event_file 대상을 지정할 때 해당 파일 경로 및 이름을 설정합니다.When you specify an event_file target, you set its file path and name:

  • .XEL은 파일 이름의 확장명입니다..XEL is the extension of the file name.

  • 시스템은 이벤트 세션이 시작될 때마다 새 파일 이름에 큰 정수를 포함하여 세션이 시작되기 이전의 경우와 다른 고유한 파일 이름을 지정합니다.Each time the event session is started, the system embeds a large integer into a new file name, to make the file name unique and different from the preceding occasion the session was started.

    • 예: Checkpoint_Begins_ES_0_131103935140400000.xelExample: Checkpoint_Begins_ES_0_131103935140400000.xel
  • .XEL 내의 내용은 Notepad.exe를 사용하여 볼 수 있는 일반 텍스트가 아닙니다.The contents inside a .XEL are not plain text that can be viewed with Notepad.exe.

    • 원하는 경우 몇 가지 .XEL 파일을 함께 추가하는 방법은 파일 > 열기 > 확장 이벤트 파일 병합메뉴를 사용하면 됩니다.If you want, the way to append several .XEL files together is to use the menu File > Open > Merge Extended Event Files.

SSMS는 모든 대상의 데이터를 표시할 수 있습니다.SSMS can display data from any target. 하지만 여러 가지 대상에 따라 다르게 표시됩니다.But the displays are different for the various targets:

  • event_file: event_file 대상의 데이터는 사용할 수 있는 다양한 기능으로 적절하게 표시됩니다.event_file: Data from an event_file target is displayed very well, with rich features available.

  • ring_buffer: 링 버퍼 대상의 데이터는 원시 XML로 표시됩니다.ring_buffer: Data from a ring-buffer target is displayed as raw XML.

  • 다른 대상의 경우 표시하는 데 장점은 event_file의 장점과 ring_buffer의 장점 중간쯤에 있습니다.For other targets the power of the display is somewhere between that of event_file versus ring_buffer.

    • 이러한 다른 대상에는 event_counter, histogram 및 pair_matching이 포함됩니다.Such other targets include event_counter, histogram, and pair_matching.
  • etw_classic_sync_target: SSMS는 대상 유형 etw_classic_sync_target에서 데이터를 표시할 수 없습니다.etw_classic_sync_target: SSMS cannot display data from the target type etw_classic_sync_target.

B.1 파일 > 열기 > 파일 메뉴를 사용하여 .XEL 열기B.1 Open .XEL with menu File > Open > File

표준 메뉴 파일 > 열기 > 파일을 사용하여 개별 .XEL 파일을 열 수 있습니다.You can open an individual .XEL file with the standard menu File > Open > File.

SSMS UI의 탭 모음으로 .XEL 파일을 끌어서 놓을 수도 있습니다.You can also drag-and-drop an .XEL file onto the tab bar in the SSMS UI.

B.2 대상 데이터 보기B.2 View Target Data

대상 데이터 보기 옵션에는 지금까지 캡처된 데이터가 표시됩니다.The View Target Data option displays the data that has thus far been captured.

개체 탐색기 창에서 노드를 확장한 다음 마우스 오른쪽 단추로 클릭합니다.In the Object Explorer pane, you can expand the nodes and then right-click:

  • 관리 > 확장 이벤트 > 세션 > [your-session] > [your-target-node] > 대상 데이터 보기Management > Extended Events > Sessions > [your-session] > [your-target-node] > View Target Data.

대상 데이터가 SSMS의 탭 창에 표시됩니다.The target data is displayed in a tabbed pane in SSMS. 다음 스크린샷에서 이 단계를 보여 줍니다.This is shown in the following screenshot.

대상 > 대상 데이터 보기

참고

대상 데이터 보기에는 지정된 이벤트 세션의 여러 .XEL 파일에서 누적된 데이터가 표시됩니다.View Target Data displays the accumulated data from multiple .XEL files from the given event session. 시작-중지 순환은 해당 이름에 나중 시간에서 파생된 정수가 포함된 파일을 만듭니다. 하지만 각 파일에 동일한 루트 이름을 공유합니다.Each Start-Stop cycle creates a file with a later time-derived integer embedded in its name, but each file shares the same root name.

B.3 라이브 데이터 감시B.3 Watch Live Data

이벤트 세션이 현재 활성 상태인 경우 이벤트 데이터를 대상에서 받은 상태대로 실시간으로 감시하고 싶을 수 있습니다.When your event session is currently active, you might want to watch the event data in real time, as it is received by the target.

  • 관리 > 확장 이벤트 > 세션 > [your-session] > 라이브 데이터 감시Management > Extended Events > Sessions > [your-session] > Watch Live Data.

세션 > 라이브 데이터 감시

데이터 표시가 업데이트되는 간격을 지정할 수 있습니다.The data display is updated at an interval you can specify. 다음에서 최대 디스패치 대기 시간 을 참조하세요.See Maximum dispatch latency at:

  • 확장 이벤트 > 세션 > [your-session] > 속성 > 고급 > 최대 디스패치 대기 시간Extended Events > Sessions > [your-session] > Properties > Advanced > Maximum dispatch latency

B.4 sys.fn_xe_file_target_read_file 함수를 사용하여 .XEL 보기B.4 View .XEL with sys.fn_xe_file_target_read_file function

일괄 처리의 경우 다음 시스템 함수는 .XEL 파일의 레코드에 대한 XML을 생성할 수 있습니다.For batch processing, the following system function can generate XML for the records in a .XEL file:

3.C. 대상 데이터 내보내기Export the target data

SSMS에서 대상 데이터를 추가한 후에 다음을 수행하여 다양한 형식으로 데이터를 내보낼 수 있습니다.After you have the target data in SSMS, you can export the data to various formats by doing the following:

  1. 데이터 표시에 포커스를 둡니다.Give focus to the data display.

    • 갑자기 확장 이벤트에 대한 새 메뉴 항목 및 새 도구 모음이 모두 표시됩니다.Suddenly a new toolbar and a new menu item for extended events both become visible.

      확장 이벤트 > 내보내기 > (.csv, .xel 또는 테이블로)를 통해 표시된 데이터를 내보냅니다.

  2. 새 메뉴 항목 확장 이벤트를 클릭합니다.Click the new menu item Extended Events.

  3. 내보내기를 클릭한 다음 형식을 선택합니다.Click Export to, and then choose a format.

4.D. 표시되는 데이터 조작Manipulate data in the display

SSMS UI는 단순히 데이터를 보는 것 외에 데이터를 조작하는 여러 방법을 제공합니다.The SSMS UI offers you several ways to manipulate the data, beyond merely viewing the data as is.

D.1 데이터 표시에서 상황에 맞는 메뉴D.1 Context menus in the data display

표시되는 데이터의 다른 위치를 마우스 오른쪽 단추로 클릭하면 상황에 맞는 다른 메뉴가 제공됩니다.Different places in the data display offer different context menus when you right-click.

D.1.1 데이터 셀을 마우스 오른쪽 단추로 클릭D.1.1 Right-click a data cell

다음 스크린샷은 데이터 표시에서 셀을 마우스 오른쪽 단추로 클릭하면 나타나는 콘텐츠 메뉴를 보여 줍니다.The following screenshot shows the content menu you get when you right-click cell in the data display. 또한 스크린샷에서 복사 의 확장 메뉴 항목도 보여 줍니다.The screenshot also shows the expansion of the Copy menu item.

데이터 표시에서 셀을 마우스 오른쪽 단추로 클릭

D.1.2 열 머리글을 마우스 오른쪽 단추로 클릭D.1.2 Right-click a column header

다음 스크린샷은 timestamp 머리글을 마우스 오른쪽 단추로 클릭하여 상황에 맞는 메뉴가 표시되는 것을 보여 줍니다.The following screenshot shows the context menu from a right-click of the timestamp header.

데이터 표시에서 열 머리글을 마우스 오른쪽 단추로 클릭 및

위 스크린샷에서는 확장 이벤트에 대한 특수한 도구 모음도 보여 줍니다.The preceding screenshot also shows the special toolbar for extended events. 세부 정보 단추의 밝기는 단추가 활성화되었음을 나타냅니다.The brightness of the Details button indicates the button is active. 따라서 이미지에는 세부 정보 탭 및 표가 데이터 표시의 두 번째 부분으로 표시되어 있습니다.Therefore the image also shows the Details tab and grid is present as a second portion of the data display.

D.2 열 선택, 열 병합D.2 Choose columns, Merge columns

열 선택 옵션으로 데이터 열을 표시 및 표시하지 않도록 제어할 수 있습니다.The Choose Columns option enables you to control which data columns are and are not displayed. 다음 위치에서 열 선택 메뉴 항목을 찾을 수 있습니다.You can find the Choose Columns menu item in a few different places:

  • 확장 이벤트 메뉴On the Extended Events menu.
  • 확장 이벤트 도구 모음On the extended events toolbar.
  • 데이터 표시에서 머리글의 상황에 맞는 메뉴On the context menu of a header in the data display.

열 선택을 클릭하면 동일한 이름의 대화 상자가 표시됩니다.When you click Choose Columns, the dialog of the same name is displayed.

열 선택 대화 상자는 열 병합 옵션도 제공합니다.

D.2.1 열 병합D.2.1 Merge columns

열 선택 대화 상자에는 아래 작업을 위해 여러 열을 하나로 병합하는 데 사용되는 섹션이 있습니다.The Choose Columns dialog has a section devoted to the merging of multiple columns into one, for purposes of:

  • 표시.Display.
  • 내보내기.Export.

D.3 필터D.3 Filters

확장 이벤트의 영역에서 지정할 수 있는 두 가지 주요 유형의 필터는 다음과 같습니다.In the area of extended events there are two major type of filters that you can specify:

  • 사전 대상 필터: 이벤트 엔진에 의해 대상으로 전송되는 데이터 양을 줄이는 필터입니다.Pre-target filters: Filters that reduce the amount of data that is sent by the events engine to your target.

  • 사후 대상 필터: 일부 대상 레코드를 표시에서 제외할 수 있도록 SSMS UI에서 선택할 수 있는 필터입니다.Post-target filters: Filters you can select in the SSMS UI to exclude some target records from the display.

SSMS 표시 필터는 다음과 같습니다.The SSMS display filters are the following:

  • timestamp 열을 검사하는 시간 범위 필터A time range filter, which examines the timestamp column.
  • 열 값 필터A column values filter.

시간 필터와 열 필터 간의 관계는 부울 'AND'입니다.The relationship between the time filter and columns filter is a Boolean 'AND'.

필터 대화 상자의 시간 범위 및 열 필터

D.4 그룹화 및 집계D.4 Grouping and aggregation

데이터의 요약 집계를 위한 첫 단계는 지정된 열에서 값을 일치시켜 행을 그룹화하는 것입니다.Grouping rows together by matching values in a given column, is the first step toward the summary aggregation of data.

D.4.1 그룹화D.4.1 Grouping

확장 이벤트 도구 모음에서 그룹화 단추를 선택하면 지정된 열에 표시된 데이터를 그룹화하는 데 사용할 수 있는 대화 상자가 시작됩니다.On the extended events toolbar, the Grouping button starts a dialog you can use to group the displayed data by a given column. 다음 스크린샷은 이름 열로 그룹화하는 데 사용되는 대화 상자를 보여 줍니다.The next screenshot shows a dialog being used to group by the name column.

도구 모음 > 그룹화 단추, 그룹화 대화 상자

그룹화가 완료된 후 다음과 같이 새로운 모양으로 표시가 바뀌었습니다.After the grouping is achieved, the display has a new look, as shown next.

그룹화 후 새로운 표시 모양

D.4.2 집계D.4.2 Aggregation

표시된 데이터를 그룹화한 후에 다른 열에서 데이터 집계를 진행할 수 있습니다.After the displayed data has been grouped, you can proceed to aggregate data in other columns. 다음은 그룹화된 데이터를 개수로 집계하고 있는 스크린샷입니다.The next screenshot shows the grouped data is being aggregated by count.

도구 모음 > 집계 단추, 집계 대화 상자

집계를 완료한 후 다음과 같이 새로운 모양으로 표시가 바뀌었습니다.After the aggregation is achieved, the display has a new look, as shown next.

도구 모음 > 집계 단추, 집계 대화 상자

D.5 런타임 쿼리 계획 보기D.5 View run time query plan

query_post_execution_showplan 이벤트를 사용하면 SSMS UI에서 실제 쿼리 계획을 볼 수 있습니다.The query_post_execution_showplan event enables you to see the actual query plan in the SSMS UI. 세부 정보 창이 표시되면 쿼리 계획 탭에서 쿼리 계획 그래프를 볼 수 있습니다.When the Details pane is visible, you can see a graph of the query plan on the Query Plan tab. 쿼리 계획에서 노드 위에 포인터를 두면 노드에 대한 속성 이름 및 해당 값의 목록을 볼 수 있습니다.By hovering over a node on the query plan, you can see a list of property names and their values for the node.

하나의 노드에 대한 속성 목록이 있는 쿼리 계획