적용 대상:SQL Server
Azure SQL Managed Instance
SQL Server Profiler를 사용하여 추적에 포함할 이벤트 클래스와 데이터 열을 정의하는 템플릿을 만들 수 있습니다. 템플릿을 정의하고 저장한 후 선택한 각 이벤트 클래스에 대한 데이터를 기록하는 추적을 실행할 수 있습니다. 여러 추적에서 템플릿을 사용할 수 있습니다. 템플릿 자체가 실행되지 않습니다.
SQL Server Profiler는 특정 추적에 가장 필요한 이벤트 클래스를 쉽게 구성할 수 있는 미리 정의된 추적 템플릿을 제공합니다. 예를 들어 표준 템플릿을 사용하면 로그인, 로그아웃, 일괄 처리 완료 및 연결 정보를 기록하기 위한 일반 추적을 만들 수 있습니다. 이 템플릿을 사용하여 수정 없이 추적을 실행하거나 다른 이벤트 구성을 사용하는 추가 템플릿의 시작점으로 사용할 수 있습니다.
SQL Server Profiler를 사용하면 미리 정의된 템플릿 외에도 기본적으로 이벤트 클래스가 포함되어 있지 않은 빈 템플릿에서 추적을 만들 수 있습니다. 계획된 추적이 미리 정의된 템플릿의 구성과 유사하지 않은 경우 빈 추적 템플릿을 사용하는 것이 유용할 수 있습니다.
SQL Server Profiler는 다양한 서버 형식을 추적할 수 있습니다. 예를 들어 Analysis Services 및 SQL Server를 추적할 수 있습니다. 그러나 포함할 수 있는 이벤트 클래스는 각 서버 유형에 대해 동일하지 않습니다. 따라서 SQL Server Profiler는 서버 유형에 따라 다른 템플릿을 유지하여 선택한 서버 유형과 일치하는 특정 템플릿을 사용할 수 있게 합니다.
미리 정의된 템플릿
Standard(기본) 템플릿 외에 SQL Server Profiler에는 특정한 유형의 이벤트를 모니터링하기 위한 여러 개의 미리 정의된 템플릿이 포함되어 있습니다. 다음 표에서는 미리 정의된 템플릿, 해당 용도 및 정보를 캡처하는 이벤트 클래스를 나열합니다.
| 템플릿 이름 | 템플릿 용도 | 이벤트 클래스 |
|---|---|---|
SP_Counts |
시간이 지남에 따라 저장 프로시저 실행 동작을 캡처합니다. | SP:시작 중 |
| 표준 | 추적을 만들기 위한 제네릭 시작점입니다. 실행되는 모든 저장 프로시저와 Transact-SQL 일괄 처리를 캡처합니다. 일반 데이터베이스 서버 작업을 모니터링하는 데 사용합니다. |
감사 로그인 감사 로그아웃 ExistingConnection RPC:Completed SQL:BatchCompleted SQL:BatchStarting |
| TSQL | 클라이언트가 SQL Server로 전송하는 모든 Transact-SQL 문과 전송된 시간을 캡처합니다. 클라이언트 응용 프로그램을 디버그하는 데 사용합니다. |
감사 로그인 감사 로그아웃 ExistingConnection RPC:시작 중 SQL:BatchStarting |
| TSQL_Duration | 클라이언트가 SQL Server로 전송하는 모든 Transact-SQL 문과 실행 시간(밀리초)을 캡처하고 이 문들을 기간별로 그룹화합니다. 느린 쿼리를 식별하는 데 사용합니다. |
RPC:Completed SQL:BatchCompleted |
| TSQL_그룹화됨 | SQL Server로 전송된 모든 Transact-SQL 문과 전송 시간을 캡처합니다. 문을 제출한 사용자 또는 클라이언트별로 정보를 그룹화합니다. 특정 클라이언트 또는 사용자가 전송한 쿼리를 조사하는 데 사용합니다. |
감사 로그인 감사 로그아웃 ExistingConnection RPC:시작 중 SQL:BatchStarting |
| TSQL_잠금 | 클라이언트가 SQL Server로 전송하는 모든 Transact-SQL 문을 예외 잠금 이벤트와 함께 캡처합니다. 교착 상태, 잠금 시간 초과 및 잠금 확장 이벤트의 문제를 해결하는 데 사용합니다. |
차단된 프로세스 보고서 SP:StmtCompleted SP:StmtStarting SQL:StmtCompleted SQL:StmtStarting 교착 상태 그래프 잠금:취소 잠금:데드락 잠금: 교착 상태 체인 잠금:에스컬레이션 Lock:Timeout(timeout>0) |
| TSQL_Replay | 추적이 재생될 경우 필요한 Transact-SQL 문에 대한 세부 정보를 캡처합니다. 벤치마크 테스트와 같은 반복적인 튜닝을 수행하는 데 사용합니다. |
CursorClose CursorExecute CursorOpen CursorPrepare CursorUnprepare 감사 로그인 감사 로그아웃 기존 연결 RPC 출력 매개 변수 RPC:Completed RPC:시작 중 준비된 SQL 실행 SQL 준비 SQL:BatchCompleted SQL:BatchStarting |
| TSQL_SPs | 실행 중인 모든 저장 프로시저에 대한 자세한 정보를 캡처합니다. 저장 프로시저의 구성 요소 단계를 분석하는 데 사용합니다. 프로시저가 다시 컴파일되고 있다고 의심되는 경우 SP:Recompile 이벤트를 추가합니다. |
감사 로그인 감사 로그아웃 ExistingConnection RPC:시작 중 SP:Completed SP:시작 중 SP:StmtStarting SQL:BatchStarting |
| 튜닝 | 저장 프로시저와 Transact-SQL 일괄 처리 실행에 대한 정보를 캡처합니다. 데이터베이스 엔진 튜닝 관리자가 데이터베이스를 튜닝할 때 작업으로 사용할 수 있는 추적 출력을 생성하는 데 사용합니다. |
RPC:Completed SP:StmtCompleted SQL:BatchCompleted |
이벤트 클래스에 대한 자세한 내용은 SQL Server 이벤트 클래스 참고자료를 참조하세요.
기본 템플릿
SQL Server Profiler는 Standard 템플릿을 새 추적에 적용되는 기본 템플릿으로 자동 지정합니다. 그러나 기본 템플릿을 다른 미리 정의된 템플릿 또는 사용자 정의 템플릿으로 변경할 수 있습니다. 기본 템플릿을 변경하려면 템플릿을 만들거나 편집할 때 추적 템플릿 속성 대화 상자의 일반 탭에서 선택한 서버 유형에 대한 기본 템플릿으로 사용 확인란을 선택합니다.
추적 템플릿 속성 대화 상자로 이동하려면 SQL Server 프로파일러 파일 메뉴에서 템플릿을 선택한 다음 새 템플릿 또는 템플릿 편집을 선택합니다.
기본 템플릿은 지정된 서버 유형에만 사용할 수 있습니다. 한 서버 형식의 기본값을 변경해도 다른 서버 형식의 기본 템플릿에는 영향을 주지 않습니다. 특정 서버에 대한 기본 템플릿을 설정하는 방법에 대한 자세한 내용은 추적 정의 기본값 설정(SQL Server Profiler)을 참조하세요.