관리 메뉴

why don't do your best

sql프로필러 정확히 알기 본문

Database/MSSQL

sql프로필러 정확히 알기

빅셔 2010. 9. 15. 18:10

SQL 프로필러 이벤트 범주로 모니터링

SQL 프로필러에서는 이벤트 범주를 사용하여 Microsoft® SQL Server™의 이벤트를 모니터링합니다. 이벤트 범주에는 SQL 프로필러 사용자 인터페이스 내에 함께 그룹화된 이벤트 클래스가 포함됩니다. 자세한 내용은 SQL 프로필러 용어를 참조하십시오.

다음 표에서는 SQL 프로필러 이벤트 범주 및 관련된 이벤트 클래스를 설명합니다.

이벤트 범주
설명

커서
커서 작업에 의해 생성되는 이벤트 클래스의 컬렉션입니다.

데이터베이스
데이터 로그 파일이 자동으로 늘어나고 줄어들 때 생성되는 이벤트 클래스의 컬렉션입니다.

오류 및 경고
SQL Server 오류 또는 경고가 발생할 때(예: 저장 프로시저 컴파일 동안 오류 또는 SQL Server 내의 예외 오류) 생성되는 이벤트 클래스의 컬렉션입니다.

잠금
잠금을 얻거나 취소, 해제 시 생성되는 이벤트 클래스의 컬렉션입니다.

개체
데이터베이스 개체를 작성, 열기, 닫기 또는 삭제할 때 생성되는 이벤트 클래스 컬렉션입니다.

성능
SQL 데이터 조작(DML) 운영자가 실행될 때 생성되는 이벤트 클래스 컬렉션입니다.

스캔
테이블 및 인덱스를 스캔할 때 생성되는 이벤트 클래스 컬렉션입니다.

보안 감사
서버 활동을 감사하는데 사용되는 이벤트 클래스 컬렉션입니다.

세션
클라이언트가 SQL Server 인스턴스에 연결하고 연결을 끊을 때 생성되는 이벤트 클래스 컬렉션입니다.

저장 프로시저
저장 프로시저 실행으로 생성되는 이벤트 클래스 컬렉션입니다.

트랜잭션
Microsoft Distributed Transaction Coordinator(MS DTC) 또는 SQL 트랜잭션 실행이나 트랜잭션 로그에 쓰기로 생성되는 이벤트 클래스 컬렉션입니다.

TSQL
클라이언트로부터 SQL Server 인스턴스로 전달되는 Transact-SQL 문을 실행함으로 생성되는 이벤트 클래스 컬렉션입니다.

사용자 구성
사용자 구성 이벤트 클래스 모음입니다.

저장 프로시저 이벤트 범주
다음 표에서는 저장 프로시저 이벤트 범주의 저장 프로시저 이벤트 클래스를 설명합니다.

이벤트 클래스
설명

RPC Output Parameter
이전에 실행된 원격 프로시저 호출(RPC)의 출력 매개 변수에 대한 정보를 표시합니다.

RPC:Completed
RPC가 완료될 때 발생합니다.

RPC:Starting
RPC가 시작될 때 발생합니다.

SP:CacheHit
프로시저가 캐시에서 발견됩니다.

SP:CacheInsert
항목이 프로시저 캐시에 삽입됩니다.

SP:CacheMiss
저장 프로시저가 프로시저 캐시에서 발견되지 않습니다.

SP:CacheRemove
항목이 프로시저 캐시에서 제거됩니다.

SP:Completed
저장 프로시저가 완료되었습니다.

SP: ExecContextHit
저장 프로시저의 실행 버전이 캐시에서 발견되었습니다.

SP:Recompile
저장 프로시저가 다시 컴파일되었습니다.

SP:Starting
저장 프로시저가 시작되었습니다.

SP: StmtCompleted
저장 프로시저 안에 있는 문이 완료되었습니다.

SP:StmtStarting
저장 프로시저 안에 있는 문이 시작되었습니다.

SP:CacheHitSP:CacheMiss 이벤트 클래스를 모니터링하면 저장 프로시저가 실행되었을 때 캐시에서 발견되는 빈도를 확인할 수 있습니다. 예를 들어 SP:CacheMiss 이벤트 클래스가 자주 발생하면 Microsoft® SQL Server™에 사용할 수 있는 메모리를 추가해 프로시저 캐시 크기를 늘려야 한다는 것을 나타냅니다. SP:CacheHit 이벤트 클래스의 개체 ID를 모니터링하면 어떤 저장 프로시저가 캐시에 상주하는지 확인할 수 있습니다.

SP:CacheInsert, SP:CacheRemoveSP:Recompile 이벤트 클래스를 사용하면 어떤 저장 프로시저가 캐시로 불러들여지며(처음 실행 시) 나중에 캐시에서 제거되는지(캐시에 오래 머문 경우) 알 수 있으며 언제 다시 컴파일해야 하는지도 확인할 수 있습니다. 저장 프로시저를 다시 컴파일하는 것에 대한 자세한 내용은 저장 프로시저 다시 컴파일을 참조하십시오. 이 정보는 응용 프로그램에서의 저장 프로시저의 용도를 확인할 때 유용합니다.

저장 프로시저에는 공유 데이터를 가진 컴파일 버전과 세션별 데이터를 가진 실행 컨텍스트 버전이 포함됩니다. 저장 프로시저를 캐시에서 찾을 때는 실행 컨텍스트를 가장 먼저 찾습니다. 저장 프로시저가 발견되지 않으면 컴파일 계획에 따라 캐시를 검색합니다. 실행 컨텍스트를 모니터링하려면 SP:ExecContextHit 이벤트 클래스를 사용하십시오. SP:ExecContextHit 이벤트 클래스가 저장 프로시저에 대해 생성되지 않으면 저장 프로시저는 캐시할 수 있는 쿼리에 대해 실행 시간을 갖지 않습니다.

저장 프로시저의 실행은 SP:Starting, SP:StmtStarting, SP:StmtCompleted, SP:Completed 이벤트 클래스 및 TSQL 이벤트 클래스로 모니터링할 수 있습니다.

참고 SP:StmtStarting는 이전 버전과의 호환성을 위해서만 제공됩니다. 이제 이 이벤트를 추적하는 데 SQL:StmtStarting을 사용해야 합니다. SP:StmtStarting을 추적하도록 선택하면 SQL 프로필러는 두 이벤트가 함께 매핑된 것처럼 SQL:StmtStarting을 추적합니다.

저장 프로시저 이벤트 범주를 사용하여 저장 프로시저의 실행을 모니터링할 수 있습니다.

sp2-9357-choyjoy

TSQL 이벤트 클래스

다음 표에서는 TSQL 이벤트 범주의 TSQL 이벤트 클래스를 설명합니다.

이벤트 클래스
설명

Exec Prepared SQL
준비된 SQL 문이 ODBC, OLEDB 또는 DB-Library에 의해 실행된 시기를 나타냅니다.

Prepare SQL
ODBC, OLEDB 또는 DB-Library에서 사용할 수 있도록 SQL 문이 준비된 시기를 나타냅니다.

SQL:BatchCompleted
Transact-SQL 일괄 처리가 완료되었습니다.

SQL:BatchStarting
Transact-SQL 일괄 처리가 시작되었습니다.

SQL:StmtCompleted
Transact-SQL 문이 완료되었습니다.

SQL:StmtStarting
Transact-SQL 문이 시작되었습니다.

Unprepare SQL
준비된 SQL 문이 ODBC, OLEDB 또는 DB-Library에 의해 준비가 취소된 시기를 나타냅니다.

TSQL 이벤트 클래스나 단일 단계를 사용하는 이벤트를 모니터링하면 응용 프로그램 쿼리를 모니터링할 수 있습니다. SQL:BatchStarting 이벤트 클래스에는 일괄 처리에 제출되는 Transact-SQL이 나타나며 SQL:StmtStarting 이벤트 클래스에는 일괄 처리에 있는 개별 문이 나타납니다. SQL:BatchCompleted 이벤트 클래스를 재생하여 일괄 처리에서 반환한 값을 표시하고 예상된 결과와 일치하는지 확인할 수 있습니다.

Start Time, End TimeDuration 기본 데이터 열을 모니터링하면 이벤트가 시작하고 완료되는 시기와 각 원격 프로시저 호출(RPC), 일괄 처리 또는 문이 완료되는데 시간이 얼마나 걸리는지 나타납니다. 이벤트를 Duration 기본 데이터 열에 따라 그룹화하면 실행이 가장 오래 걸리는 쿼리를 쉽게 확인할 수 있습니다. NT User NameDBUserName 기본 데이터 열을 모니터링해도 이 쿼리를 제출한 사용자를 식별할 수 있습니다.

Comments