SQL Server Profiler

적용 대상:SQL ServerAzure SQL Managed Instance

SQL Server Profiler는 추적을 작성하고 관리하며 추적 결과를 분석 및 재생하는 인터페이스입니다. 이벤트는 나중에 분석하거나 문제를 진단할 때 특정 일련의 단계를 재생하는 데 사용할 수 있는 추적 파일에 저장됩니다.

Important

SQL 추적 및 SQL Server Profiler는 사용되지 않습니다. Microsoft SQL Server 추적 및 재생 개체를 포함하는 Microsoft.SqlServer.Management.Trace 네임스페이스도 더 이상 사용되지 않습니다.

이 기능은 이후 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요.

대신 확장 이벤트를 사용합니다. 확장 이벤트에 대한 자세한 내용은 빠른 시작: SQL Server의 확장 이벤트SSMS XEvent Profiler를 참조하세요.

참고 항목

Analysis Services 워크로드용 SQL Server Profiler가 지원됩니다.

참고 항목

SQL Server 프로파일러에서 Azure SQL Database에 연결하려고 하면 다음과 같이 잘못된 오류 메시지가 잘못 throw됩니다.

  • SQL Server에 대해 추적을 실행하려면 sysadmin 고정 서버 역할의 멤버이거나 ALTER TRACE 권한이 있어야 합니다.

이 메시지는 Azure SQL Database가 SQL Server 프로파일러에서 지원되지 않는다는 것을 설명해야 합니다.

프로파일러는 어디에 있나요?

SQL Server Profiler 확장을 사용하여 Azure Data Studio 내에서 또는 SQL Server Management Studio 내에서 Profiler를 시작할 수 있습니다.

추적 데이터 캡처 및 재생

다음 표에서는 SQL Server에서 추적 데이터를 캡처하고 재생하는 데 사용하는 것이 좋습니다.

Feature\Target Workload 관계형 엔진 Analysis Services
추적 캡처 SQL Server Management Studio의 확장 이벤트 그래픽 사용자 인터페이스 SQL Server Profiler
추적 재생 Distributed Replay SQL Server Profiler

SQL Server Profiler 사용

Microsoft SQL Server Profiler는 데이터베이스 엔진 또는 Analysis Services 인스턴스를 모니터링하기 위한 SQL 추적에 대한 그래픽 사용자 인터페이스입니다. 각 이벤트에 대한 데이터를 캡처하고 파일 또는 테이블에 저장하여 나중에 분석할 수 있습니다. 예를 들어 프로덕션 환경을 모니터링하여 어느 저장 프로시저가 너무 늦게 실행되어 성능을 떨어뜨리고 있는지 볼 수 있습니다. SQL Server Profiler는 다음과 같은 작업에 사용됩니다.

  • 문제 쿼리를 단계별로 실행하여 문제의 원인을 찾습니다.

  • 실행이 느린 쿼리를 찾고 진단

  • 문제가 발생하는 일련의 Transact-SQL 문 포착 그런 다음 저장된 추적을 사용하여 문제를 진단할 수 있는 테스트 서버에서 문제를 복제본(replica) 확인할 수 있습니다.

  • SQL Server의 성능을 모니터링하여 워크로드를 조정합니다. 데이터베이스 작업에 맞게 물리적 데이터베이스 디자인을 튜닝하는 방법은 Database Engine Tuning Advisor를 참조하세요.

  • 성능 카운터를 상관 관계를 지정하여 문제를 진단합니다.

또한 SQL Server Profiler는 SQL Server 인스턴스에서 수행되는 작업 감사를 지원합니다. 보안 관리자가 나중에 검토할 수 있는 보안 관련 작업을 기록합니다.

SQL Server Profiler 개념

SQL Server Profiler를 사용하려면 도구가 작동하는 방식을 설명하는 용어를 이해해야 합니다.

참고 항목

SQL 추적을 이해하면 SQL Server Profiler를 사용할 때 도움이 됩니다. 자세한 내용은 SQL Trace을(를) 참조하세요.

이벤트

이벤트는 SQL Server 데이터베이스 엔진 인스턴스 내에서 생성된 작업입니다. 다음은 이러한 예입니다.

  • 로그인 연결, 실패 및 연결 끊김
  • Transact-SQL SELECT, INSERT, UPDATEDELETE
  • RPC(원격 프로시저 호출) 일괄 처리 상태.
  • 저장 프로시저의 시작 또는 끝입니다.
  • 저장 프로시저 내의 문의 시작 또는 끝입니다.
  • SQL 일괄 처리의 시작 또는 끝입니다.
  • SQL Server 오류 로그에 기록된 오류입니다.
  • 데이터베이스 개체에서 잠금을 획득하거나 해제합니다.
  • 열린 커서
  • 보안 권한 검사.

이벤트에 의해 생성된 모든 데이터는 단일 행의 추적에 표시됩니다. 이 행은 이벤트를 자세히 설명하는 데이터 열로 구분됩니다.

EventClass

이벤트 클래스는 추적할 수 있는 이벤트 유형입니다. 이벤트 클래스에는 이벤트가 보고할 수 있는 모든 데이터가 포함됩니다. 다음은 이벤트 클래스의 예입니다.

  • SQL:BatchCompleted
  • 감사 로그인
  • 감사 로그아웃
  • 잠금: 획득됨
  • 잠금: 릴리스됨

EventCategory

이벤트 범주는 SQL Server Profiler 내에서 이벤트가 그룹화되는 방식을 정의합니다. 예를 들어 모든 잠금 이벤트 클래스는 Locks 이벤트 범주 내에서 그룹화됩니다. 그러나 이벤트 범주는 SQL Server Profiler 내에만 존재합니다. 이 용어는 엔진 이벤트가 그룹화되는 방식을 반영하지 않습니다.

DataColumn

데이터 열은 추적에 캡처된 이벤트 클래스의 특성입니다. 이벤트 클래스는 수집할 수 있는 데이터 형식을 결정하므로 모든 데이터 열이 모든 이벤트 클래스에 적용되는 것은 아닙니다. 예를 들어 Lock: Acquired 이벤트 클래스를 캡처하는 추적에서 BinaryData 데이터 열에는 잠긴 페이지 ID 또는 행의 값이 포함되지만 Integer Data 데이터 열에는 캡처되는 이벤트 클래스에 적용할 수 없기 때문에 값이 포함되지 않습니다.

템플릿

템플릿은 추적에 대한 기본 구성을 정의합니다. 특히 SQL Server Profiler를 사용하여 모니터링하려는 이벤트 클래스가 포함됩니다. 예를 들어 이벤트, 데이터 열 및 필터를 지정하는 템플릿을 만들 수 있습니다. 템플릿은 실행되지 않고 확장명은 .tdf인 파일로 저장됩니다. 저장되면 템플릿은 템플릿 기반 추적이 시작될 때 캡처되는 추적 데이터를 제어합니다.

Trace

추적은 선택한 이벤트 클래스, 데이터 열 및 필터에 기초하여 데이터를 캡처합니다. 예를 들어 예외 오류를 모니터링하는 추적을 만들 수 있습니다. 이렇게 하려면 Exception 이벤트 클래스와 Error, StateSeverity 데이터 열을 선택합니다. 추적 결과에서 의미 있는 데이터를 제공하려면 이 3열의 데이터를 수집해야 합니다. 그런 다음 이러한 방식으로 구성된 추적을 실행하고 서버에서 발생하는 모든 예외 이벤트에 대한 데이터를 수집할 수 있습니다. 추적 데이터를 즉시 분석에 사용하거나 저장한 후 나중에 분석할 수 있습니다. 나중에 추적을 재생할 수 있지만 Exception 이벤트와 같은 특정 이벤트는 재생할 수 없습니다. 추적을 템플릿으로 저장하여 나중에 유사한 추적을 빌드할 수도 있습니다.

SQL Server는 SQL Server 인스턴스를 추적하는 두 가지 방법을 제공합니다. SQL Server Profiler를 사용하여 추적하거나 시스템 저장 프로시저를 사용하여 추적할 수 있습니다.

필터

추적 또는 템플릿을 만들 때 이벤트가 수집하는 데이터를 필터링할 조건을 정의할 수 있습니다. 추적이 너무 커지는 것을 막기 위해 이벤트 데이터의 하위 집합만 수집되도록 필터링할 수 있습니다. 예를 들어 추적의 Microsoft Windows 사용자 이름을 특정 사용자로 제한하여 출력 데이터를 줄일 수 있습니다.

필터를 설정하지 않으면 선택한 이벤트 클래스의 모든 이벤트가 추적 출력에 반환됩니다.

SQL Server Profiler 작업

작업 설명 항목
SQL Server에서 특정 유형의 이벤트를 모니터링하기 위해 제공하는 미리 정의된 템플릿과 추적을 재생하는 데 필요한 사용 권한을 나열합니다. SQL Server Profiler 템플릿 및 권한
SQL Server Profiler를 실행하는 방법을 설명합니다. SQL Server Profiler를 실행하는 데 필요한 권한
추적을 만드는 방법에 대해 설명합니다. 추적 만들기(SQL Server Profiler)
추적 파일에 대한 이벤트 및 데이터 열을 지정하는 방법에 대해 설명합니다. 추적 파일에 대해 이벤트 및 데이터 열 지정(SQL Server Profiler)
추적 결과를 파일에 저장하는 방법을 설명합니다. 추적 결과를 파일에 저장(SQL Server Profiler)
추적 결과를 테이블에 저장하는 방법을 설명합니다. 테이블에 추적 결과 저장(SQL Server Profiler)
추적에서 이벤트를 필터링하는 방법에 대해 설명합니다. 추적의 이벤트 필터링(SQL Server Profiler)
필터 정보를 보는 방법을 설명합니다. 필터 정보 보기(SQL Server Profiler)
필터를 수정하는 방법을 설명합니다. 필터 수정(SQL Server Profiler)
추적 파일의 최대 파일 크기를 설정하는 방법을 설명합니다(SQL Server Profiler). 추적 파일의 최대 파일 크기 설정(SQL 등)
추적 테이블에 대한 최대 테이블 크기를 설정하는 방법을 설명합니다. 추적 테이블의 최대 테이블 크기 설정(SQL Server Profiler)
추적을 시작하는 방법을 설명합니다. 추적 시작
서버에 연결한 후 자동으로 추적을 시작하는 방법을 설명합니다. 서버에 커넥트 후 자동으로 추적 시작(SQL Server Profiler)
이벤트 시작 시간을 기준으로 이벤트를 필터링하는 방법을 설명합니다. 이벤트 시작 시간을 기준으로 이벤트 필터링(SQL Server Profiler)
이벤트 종료 시간을 기준으로 이벤트를 필터링하는 방법을 설명합니다. 이벤트 종료 시간을 기준으로 이벤트 필터링(SQL Server Profiler)
추적에서 SPID(서버 프로세스 ID)를 필터링하는 방법을 설명합니다. 추적에서 SPID(서버 프로세스 ID) 필터링(SQL 등)
추적을 일시 중지하는 방법에 대해 설명합니다. 추적 일시 중지(SQL Server Profiler)
추적을 중지하는 방법을 설명합니다. 추적 중지(SQL Server Profiler)
추적을 일시 중지하거나 중지했다가 다시 실행하는 방법에 대해 설명합니다. 일시 중지 또는 중지된 후 추적 실행(SQL Server Profiler)
추적 창을 지우는 방법을 설명합니다. 추적 창 지우기(SQL Server Profiler)
추적 창을 닫는 방법을 설명합니다. 추적 창 닫기(SQL Server Profiler)
추적 정의 기본값을 설정하는 방법을 설명합니다. 추적 정의 기본값 설정(SQL Server Profiler)
추적 표시 기본값을 설정하는 방법을 설명합니다. 추적 표시 기본값 설정(SQL Server Profiler)
추적 파일을 여는 방법을 설명합니다. 추적 파일 열기(SQL Server Profiler)
추적 테이블을 여는 방법을 설명합니다. 추적 테이블 열기(SQL Server Profiler)
추적 테이블을 재생하는 방법에 대해 설명합니다. 추적 테이블 재생(SQL Server Profiler)
추적 파일을 재생하는 방법을 설명합니다. 추적 파일 재생(SQL Server Profiler)
한 번에 하나의 이벤트를 재생하는 방법을 설명합니다. 단일 이벤트를 한 번에 하나씩 재생(SQL Server Profiler)
중단점으로 재생하는 방법을 설명합니다. 중단점으로 재생(SQL Server Profiler)
커서로 재생하는 방법을 설명합니다. 커서까지 재생(SQL Server Profiler)
Transact-SQL 스크립트를 재생하는 방법을 설명합니다. Transact-SQL 스크립트 재생(SQL Server Profiler)
추적 템플릿을 만드는 방법에 대해 설명합니다. 추적 템플릿 만들기(SQL Server Profiler)
추적 템플릿을 수정하는 방법을 설명합니다. 추적 템플릿 수정(SQL Server Profiler)
전역 추적 옵션을 설정하는 방법을 설명합니다. 전역 추적 옵션 설정(SQL Server Profiler)
추적하는 동안 값 또는 데이터 열을 찾는 방법을 설명합니다. 추적 중 값 또는 데이터 열 찾기(SQL Server Profiler)
실행 중인 추적에서 템플릿을 파생하는 방법을 설명합니다. 실행 중인 추적으로부터 템플릿 파생(SQL Server Profiler)
추적 파일 또는 추적 테이블에서 템플릿을 파생하는 방법을 설명합니다. 추적 파일 또는 추적 테이블에서 템플릿 파생(SQL Server Profiler)
추적 실행을 위한 Transact-SQL 스크립트를 만드는 방법에 대해 설명합니다. 추적을 실행하기 위한 Transact-SQL 스크립트 만들기(SQL Server Profiler)
추적 템플릿을 내보내는 방법을 설명합니다. 추적 템플릿 내보내기(SQL Server Profiler)
추적 템플릿을 가져오는 방법에 대해 설명합니다. 추적 템플릿 가져오기(SQL Server Profiler)
추적에서 스크립트를 추출하는 방법을 설명합니다. 추적에서 스크립트 추출(SQL Server Profiler)
추적을 Windows 성능 로그 데이터와 상호 연결하는 방법을 설명합니다. 추적을 Windows 성능 로그 데이터와 상호 연결(SQL Server Profiler)
추적에 표시되는 열을 구성하는 방법을 설명합니다. 표시된 열 추적으로 구성(SQL Server Profiler)
SQL Server Profiler를 시작하는 방법을 설명합니다. SQL Server Profiler 시작
추적 및 추적 템플릿을 저장하는 방법에 대해 설명합니다. 추적 및 추적 템플릿 저장
추적 템플릿을 수정하는 방법을 설명합니다. 추적 템플릿 수정
추적을 Windows 성능 로그 데이터와 상호 연결하는 방법을 설명합니다. Windows 성능 로그 데이터와 추적의 상관 관계 지정
SQL Server Profiler를 사용하여 추적을 보고 분석하는 방법에 대해 설명합니다. SQL Server Profiler를 사용하여 추적 보기 및 분석
SQL Server Profiler를 사용하여 교착 상태를 분석하는 방법을 설명합니다. SQL Server Profiler를 사용하여 교착 상태 분석
SQL Server Profiler에서 SHOWPLAN 결과를 사용하여 쿼리를 분석하는 방법을 설명합니다. SQL Server Profiler에서 SHOWPLAN 결과를 사용하여 쿼리 분석
SQL Server Profiler로 추적을 필터링하는 방법에 대해 설명합니다. SQL Server Profiler를 사용하여 추적 필터링
SQL Server Profiler의 재생 기능을 사용하는 방법을 설명합니다. 추적 재생
SQL Server Profiler에 대한 상황에 맞는 도움말 항목을 나열합니다. SQL Server 프로파일러 F1 도움말
SQL Server Profiler에서 성능 및 활동을 모니터링하는 데 사용하는 시스템 저장 프로시저를 나열합니다. SQL Server Profiler 저장 프로시저(Transact-SQL)