SQL Server Profiler를 사용하여 추적 보기 및 분석View and Analyze Traces with SQL Server Profiler

추적에서 캡처한 이벤트를 보려면 SQL Server 프로파일러SQL Server Profiler 를 사용합니다.Use SQL Server 프로파일러SQL Server Profiler to view captured event data in a trace. SQL Server 프로파일러SQL Server Profiler 는 정의된 추적 속성을 기반으로 데이터를 표시합니다. displays data based on defined trace properties. SQL ServerSQL Server 데이터를 분석하는 한 가지 방법은 SQL ServerSQL Server 또는 데이터베이스 엔진Database Engine 튜닝 관리자 같은 다른 프로그램으로 데이터를 복사하는 것입니다.One way to analyze SQL ServerSQL Server data is to copy the data to another program, such as SQL ServerSQL Server or 데이터베이스 엔진Database Engine Tuning Advisor. 데이터베이스 엔진Database Engine 튜닝 관리자는 Text 데이터 열이 추적에 포함되어 있는 경우 SQL 일괄 처리와 RPC(원격 프로시저 호출) 이벤트가 있는 추적 파일을 사용할 수 있습니다. Tuning Advisor can use a trace file that contains SQL batch and remote procedure call (RPC) events if the Text data column is included in the trace. 데이터베이스 엔진Database Engine 튜닝 관리자에 사용할 수 있도록 올바른 이벤트와 열이 캡처되었는지 확인하려면 SQL Server 프로파일러SQL Server Profiler에서 제공되는 사전 정의된 튜닝 템플릿을 사용합니다.To make sure that the correct events and columns are captured for use with 데이터베이스 엔진Database Engine Tuning Advisor, use the predefined Tuning template that is supplied with SQL Server 프로파일러SQL Server Profiler.

SQL Server 프로파일러SQL Server Profiler를 사용하여 추적을 열 때 추적 파일이 SQL Server 프로파일러SQL Server Profiler 또는 SQL 추적 시스템 저장 프로시저로 생성된 경우 추적 파일에 .trc 파일 확장명이 없어도 됩니다.When you open a trace by using SQL Server 프로파일러SQL Server Profiler, the trace file does not need to have the .trc file extension if the file was created by either SQL Server 프로파일러SQL Server Profiler or SQL Trace system stored procedures.

참고

SQL Server 프로파일러SQL Server ProfilerSQL 추적.log 파일 및 일반 SQL 스크립트 파일도 읽을 수 있습니다. can also read SQL Trace .log files and generic SQL script files. trace.txt와 같이 .log 파일 확장명을 가지지 않은 SQL 추적 .log 파일을 열 때는 SQLTrace_Log 를 파일 형식으로 지정하세요.When opening a SQL Trace .log file that does not have a .log file extension, such as trace.txt, specify SQLTrace_Log as the file format.

추적 분석에 유용한 SQL Server 프로파일러SQL Server Profiler 날짜 및 시간 표시 형식을 구성하여 추적 분석을 도울 수 있습니다.You can configure the SQL Server 프로파일러SQL Server Profiler date and time display format to assist in trace analysis.

데이터 문제 해결Troubleshooting Data

SQL Server 프로파일러SQL Server Profiler를 사용하면 Duration, CPU, Reads또는 Writes 데이터 열로 추적 또는 추적 파일을 그룹화하여 데이터의 문제를 해결할 수 있습니다.Using SQL Server 프로파일러SQL Server Profiler, you can troubleshoot data by grouping traces or trace files by the Duration, CPU, Reads, or Writes data columns. 예를 들어 잘 수행되지 않는 쿼리 또는 논리적 읽기 작업의 수가 비정상적으로 많은 쿼리 등의 데이터 문제를 해결할 수 있습니다.Examples of data you might troubleshoot are queries that perform poorly or that have exceptionally high numbers of logical read operations.

추적을 테이블에 저장하고 Transact-SQLTransact-SQL 을 사용하여 이벤트 데이터를 쿼리하면 추가 정보를 얻을 수 있습니다.Additional information can be found by saving traces to tables and using Transact-SQLTransact-SQL to query the event data. 예를 들어 어떤 SQL:BatchCompleted 이벤트의 대기 시간이 가장 긴지 확인하려면 다음을 실행하십시오.For example, to determine which SQL:BatchCompleted events had excessive wait time, execute the following:

SELECT  TextData, Duration, CPU  
FROM    trace_table_name  
WHERE   EventClass = 12 -- SQL:BatchCompleted events  
AND     CPU < (Duration * 1000)  

참고

서버는 이벤트 기간을 마이크로초(10^-6초) 단위로 보고하고 이벤트에 사용되는 CPU 시간량을 밀리초(10^-3초) 단위로 보고합니다.The server reports the duration of an event in microseconds (10^-6 seconds) and the amount of CPU time used by the event in milliseconds (10^-3 seconds). SQL Server 프로파일러SQL Server Profiler 그래픽 사용자 인터페이스는 기본적으로 Duration 열을 밀리초 단위로 표시하지만 추적을 파일이나 데이터베이스 테이블에 저장하면 Duration 열 값이 마이크로초 단위로 기록됩니다.The SQL Server 프로파일러SQL Server Profiler graphical user interface displays the Duration column in milliseconds by default, but when a trace is saved to either a file or a database table, the Duration column value is written in microseconds.

추적을 볼 때 개체 이름 표시Displaying Object Names When Viewing Traces

개체 식별자(개체 ID)보다는 개체 이름을 표시하려면 서버 이름데이터베이스 ID 데이터 열을 개체 이름 데이터 열과 함께 캡처해야 합니다.If you wish to display the name of an object rather than the object identifier (Object ID), you must capture the Server Name and Database ID data columns along with the Object Name data column.

개체 ID 데이터 열로 그룹화하도록 선택한 경우 서버 이름데이터베이스 ID 데이터 열로 먼저 그룹화하고 개체 ID 데이터 열로 그룹화합니다.If you choose to group by the Object ID data column, make sure you group by the Server Name and Database ID data columns first, and then by the Object ID data column. 마찬가지로 인덱스 ID 데이터 열로 그룹화하도록 선택한 경우 서버 이름, 데이터베이스 ID개체 ID 데이터 열로 그룹화한 다음 인덱스 ID 데이터 열로 그룹화합니다.Similarly, if you choose to group by the Index ID data column, make sure you group by the Server Name, Database ID, and Object ID data columns first, and then by the Index ID data columns. 개체 및 인덱스 ID가 서버와 데이터베이스 간에 그리고 인덱스 ID에 대한 개체 간에 고유하지 않기 때문에 이러한 순서로 그룹화해야 합니다.You must group in this order because object and index IDs are not unique among servers and databases (and among objects for index IDs).

추적에서 특정 이벤트 찾기Finding Specific Events Within a Trace

추적에서 이벤트를 찾아 그룹화하려면 다음 단계를 수행하십시오.To find and group events in a trace, follow these steps:

  1. 추적을 만듭니다.Create your trace.

    • 추적을 정의할 때 캡처하려고 하는 다른 데이터 열과 함께 Event Class, ClientProcessIDStart Time 데이터 열을 캡처하십시오.When defining the trace, capture the Event Class, ClientProcessID, and Start Time data columns in addition to any other data columns you want to capture. 자세한 내용은 추적 만들기(SQL Server Profiler)를 참조하세요.For more information, see Create a Trace (SQL Server Profiler).

    • 캡처한 데이터를 Event Class데이터 열로 그룹화하고 추적을 파일이나 테이블에 캡처하십시오.Group the captured data by the Event Classdata column, and capture the trace to a file or table. 캡처된 데이터를 그룹화하려면 추적 속성 대화 상자의 이벤트 선택 탭에서 열 구성 을 클릭합니다.To group the captured data, click Organize Columns on the Events Selection tab of the Trace Properties dialog box. 자세한 내용은 표시된 열 추적으로 구성(SQL Server Profiler)을 참조하세요.For more information, see Organize Columns Displayed in a Trace (SQL Server Profiler).

    • 추적을 시작한 다음 적절한 시간이 경과했거나 적절한 수의 이벤트가 캡처된 후에 중지합니다.Start the trace and stop it after the appropriate time has passed or number of events have been captured.

  2. 대상 이벤트를 찾습니다.Find the target events.

    • 추적 파일이나 테이블을 열고 Deadlock Chain과 같은 원하는 이벤트 클래스의 노드를 확장하십시오.Open the trace file or table, and expand the node of the desired event class; for example, Deadlock Chain. 자세한 내용은 추적 파일 열기(SQL Server Profiler) 또는 추적 테이블 열기(SQL Server Profiler)에서 제공되는 사전 정의된 튜닝 템플릿을 사용합니다.For more information, see Open a Trace File (SQL Server Profiler) or Open a Trace Table (SQL Server Profiler).

    • 확인할 이벤트를 찾을 때까지 추적 데이터를 검색합니다. 에서 편집 메뉴의 찾기 SQL Server 프로파일러SQL Server Profiler 명령을 사용하면 추적에서 값을 찾는데 도움이 됩니다.Search through the trace data until you find the events for which you are looking (use the Find command on the Edit menu of SQL Server 프로파일러SQL Server Profiler to help you find values in the trace). 추적하는 이벤트의 ClientProcessIDStart Time 데이터 열 값을 메모하십시오.Note the values in the ClientProcessID and Start Time data columns of the events you trace.

  3. 이벤트를 컨텍스트에 표시합니다.Display the events in context.

    • 추적 속성을 표시하고 ClientProcessIDClientProcessID Event Class 데이터 열과 함께 캡처해야 합니다.Display the trace properties, and group by the ClientProcessIDdata column rather than by the Event Class data column.

    • 보려고 하는 각 연결 ID의 노드를 확장하십시오.Expand the nodes of each client process ID you want to view. 추적을 수동으로 검색하거나 에서 를 사용하여 이전에 메모한 대상 이벤트의 Start Time값을 찾으십시오.Search through the trace manually, or use Find until you find the previously noted Start Timevalues of the target events. 이벤트는 선택한 각 클라이언트 프로세스 ID에 속하는 다른 이벤트와 함께 시간 순서대로 표시됩니다.The events are displayed in chronological order with the other events that belong to each selected client process ID. 예를 들어 추적에 캡처된 DeadlockDeadlock Chain이벤트는 확장 클라이언트 프로세스 ID 내의 SQL:BatchStartingevents within the exp및ed client process ID.For example, the Deadlock and Deadlock Chainevents, captured within the trace, appear immediately after the SQL:BatchStartingevents within the expanded client process ID.

    동일한 방법을 사용하여 그룹화된 이벤트를 찾을 수 있습니다.The same technique can be used to find any grouped events. 찾던 이벤트를 발견하면 ClientProcessID, ApplicationName또는 다른 이벤트 클래스로 해당 이벤트를 그룹화하여 시간 순서대로 관련 작업을 확인합니다.Once you have found the events you seek, group them by ClientProcessID, ApplicationName, or another event class to view related activity in chronological order.

참고 항목See Also

저장된 추적 보기(Transact-SQL) View a Saved Trace (Transact-SQL)
sys.fn_trace_getinfo(Transact-SQL) sys.fn_trace_getinfo (Transact-SQL)
필터 정보 보기 ( SQL Server Profiler ) View Filter Information (SQL Server Profiler)
필터 정보 보기 ( Transact SQL ) View Filter Information (Transact-SQL)
추적 파일 ( 열기 SQL Server Profiler ) Open a Trace File (SQL Server Profiler)
추적 테이블 열기(SQL Server Profiler)Open a Trace Table (SQL Server Profiler)