SQL Server 프로파일러의 일반적인 용도

SQL Server 프로파일러는 추적을 작성 및 관리하고 추적 결과를 분석 및 재생하기 위한 풍부한 인터페이스입니다. SQL Server 데이터베이스 엔진의 인스턴스를 모니터링하는 이유에 따라 SQL Server 프로파일러의 사용 방법이 달라집니다. 예를 들어 프로덕션 주기의 개발 단계에 있을 경우에는 수집할 수 있는 모든 성능 세부 정보를 확보해야 하는 것을 염려해야 하는 것만큼 다양한 이벤트의 추적과 관련하여 발생하는 오버헤드를 염려하지는 않을 것입니다. 반대로 프로덕션 서버를 모니터링하는 중이면 서버에서 추적으로 인한 로드를 최소화하기 위해 추적의 대상과 시간을 더욱 제한하기를 원할 것입니다.

SQL Server 프로파일러를 사용하여 다음을 수행할 수 있습니다.

  • SQL Server 데이터베이스 엔진, 분석 서버 또는 Integration Services 인스턴스가 발생한 이후에 이러한 인스턴스의 성능을 모니터링합니다.

  • Transact-SQL 문과 저장 프로시저를 디버그합니다.

  • 느리게 실행되는 쿼리를 식별하여 성능을 분석합니다.

  • 추적을 재생하여 스트레스 테스트와 품질 보증을 수행합니다.

  • 한 명 이상의 사용자의 추적을 재생합니다.

  • 실행 계획 결과를 저장하여 쿼리 분석을 수행합니다.

  • 프로젝트 개발 단계에서 문을 하나씩 검사해 코드가 제대로 작동하는지 확인하는 방식으로 Transact-SQL 문 및 저장 프로시저를 테스트합니다.

  • 프로덕션 시스템에서 이벤트를 캡처하고 테스트 시스템에서 그 이벤트를 재생하여 SQL Server의 문제를 해결합니다. 이것은 프로덕션 시스템을 방해하지 않고 계속 사용하면서 테스트 또는 디버그 목적으로 사용하는 데 유용합니다.

  • SQL Server 인스턴스에서 발생하는 작업을 감사하고 검토합니다. 이것은 보안 관리자가 로그인 시도 성공 및 실패, 문 및 개체 액세스 시 사용 권한의 성공 및 실패 등을 포함한 모든 감사 이벤트를 검토할 수 있게 합니다.

  • 추적 결과를 XML로 저장하여 추적 결과에 대한 표준화된 계층 구조를 제공합니다. 이렇게 하면 기존 추적을 수정하거나 추적을 수동으로 만든 다음 재생할 수 있습니다.

  • 비슷한 이벤트 클래스를 그룹화 및 분석할 수 있도록 추적 결과를 집계합니다. 이러한 결과는 단일 열 그룹화에 기초한 개수를 제공합니다.

  • 관리자가 아닌 사용자가 추적을 만들 수 있게 합니다.

  • 성능 카운터와 추적을 상호 관련시켜 성능 문제를 진단합니다.

  • 나중에 추적에 사용할 수 있는 추적 템플릿을 구성합니다.