[MSSQL] 프로파일러 설정

2024. 10. 25. 02:15·♣ Learning Logs/MSSQL

SP 오류 확인을 위한 프로파일러 설정을 정리합니다.

 

# 1.프로파일러란 ? 

MSSQL 프로파일러(Microsoft SQL Server Profiler)는 SQL Server 데이터베이스 엔진에서 발생하는 이벤트를 실시간으로 모니터링하고, 

이러한 이벤트를 기록하여 분석하는 도구입니다.

 

[주요 기능]

- 실시간 이벤트 추적:  발생하는 다양한 이벤트(예: 쿼리 실행, 로그인/로그아웃, 트랜잭션 커밋/롤백 등)를 실시간으로 추적 

- 데드락 및 잠금 문제 분석: 데드락이나 잠금 관련 문제를 추적

- 보안 감사: 사용자 활동 및 데이터 액세스를 기록함으로써, 보안 이벤트를 추적

 

# 2.설정

아래에서는 쿼리 및 SP 중심으로 보기 위해 필터링 하도록 하겠습니다.

## 2.1.기본 설정

 

- RPC:Completed(원격 프로시저 호출 완료) : 

Client에서 (MS Access 등) SQL Server 로 호출한 프로시저 를 종료할 때 발생 하나이상의 T-SQL 문 저장 프로시저가 포함 될 수 있음

 

- SQL:BatchCompleted :

이벤트 클래스는 Transact-SQL 일괄 처리가 완료되었음을 나타냅니다.

 

## 2.2 컬럼 필터링

특정 DB 또는 특정 SP 명만 보고 싶은 경우 아래 Column Filters.. 를 사용하여 필터링할 수 있습니다.

 

 



# 3.추가 설정

그 외 추가로 더 보고싶은 이벤트는 오른쪽 아래 "Show all events" 를 눌러 추가할 수 있습니다.

## 3.1.Errors

 

 

- Attention : 취소, 클라이언트 인터럽트 요청, 클라이언트 연결 끊어짐 등의 attention 이벤트가 발생했음을 알림 

- ErrorLog : 에러 이벤트 발생시

- EventLog : 이벤트 발생시 

- Exception : 각종 오류

- Execution Warnings :  SQL Server 문이나 저장 프로시저를 실행하는 동안 발생한 메모리 부여 경고를 나타냅니다

- User Error Message : 오류나 예외가 발생한 경우 사용자에게 표시되는 오류 메시지를 표시합니다.

 

## 3.2.Locks 

 

-    DeadLock graph : 교착 상태에 대한 XML 설명

-    Lock:Acquired : 테이블의 행과 같은 리소스에 대해 잠금을 획득했음을 나타냅니다.

-    Lock:Cancel : 쿼리가 취소되어 리소스에 대한 잠금 획득이 취소되었음을 나타냅니다.

-    Lock:DeadLock  : 다른 트랜잭션에 의해 이미 잠겨 있는 리소스에 대해 트랜잭션이 잠금을 요청하여 교착 상태가 발생한 시기를 추적합니다.

-    Lock:Deadlock Chain : 교착 상태 조건이 발생한 시기 및 관련 개체를 모니터링합니다.

-    Lock:Released :  잠금이 해제된 시기를 추적

-    Lock:Timeout : SET LOCK_TIMEOUT 문으로 설정해 놓은 잠금 시간이 종료 되었을 때 발생

 

* 교착 상태 발생 시 Lock:Deadlock Chain 과 Lock:DeadLock 이벤트가 연달아 발생하며 이어 Exception이 발생한다.

 

## 3.3.SP 





- RPC Output Parameter : 이벤트 클래스는 RPC(원격 프로시저 호출) 실행 후 RPC의 출력 매개 변수 값을 추적합니다.

- RPC:Starting  / Completed : 이벤트 클래스는 원격 프로시저 호출이 완료되었음을 나타냅니다. 예) 게임 서버에서 SP를 호출할 때

- SP:CacheHit 이벤트 클래스는 저장 프로시저가 계획 캐시에 있음을 나타냅니다

- SP:Completed 이벤트 클래스는 저장 프로시저 실행이 완료되었음을 나타냅니다.

- SP: Recompile 이벤트 클래스는 저장 프로시저, 트리거 또는 사용자 정의 함수를 다시 컴파일했음을 나타냅니다

- SP:StmtCompleted 이벤트 클래스는 저장 프로시저 내의 Transact-SQL 문이 완료되었음을 나타냅니다.

 

 

마침.

저작자표시 비영리 변경금지 (새창열림)

'♣ Learning Logs > MSSQL' 카테고리의 다른 글

[MSSQL] Azure MI 에서 deadlock XEvent 로깅하기  (0) 2024.10.25
[MSSQL] DB 통합시 고려사항  (0) 2024.10.25
[MSSQL] 시스템 스키마  (0) 2024.10.25
[MSSQL]모든 테이블 인덱스 크기 조회  (0) 2024.10.25
[MSSQL] 트랜잭션 로그 시점 복원(.trn)  (0) 2024.10.03
'♣ Learning Logs/MSSQL' 카테고리의 다른 글
  • [MSSQL] Azure MI 에서 deadlock XEvent 로깅하기
  • [MSSQL] DB 통합시 고려사항
  • [MSSQL] 시스템 스키마
  • [MSSQL]모든 테이블 인덱스 크기 조회
HC.21
HC.21
hc-log 님의 블로그 입니다.
  • HC.21
    HC
    HC.21
  • 전체
    오늘
    어제
    • 분류 전체보기 (21)
      • ♣ Learning Logs (16)
        • 데이터 아키텍처 (1)
        • MSSQL (10)
        • MYSQL (3)
        • SQL (2)
        • MongoDB (1)
      • Project (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
HC.21
[MSSQL] 프로파일러 설정
상단으로

티스토리툴바