관리되는 데이터베이스 개체 모니터링 및 문제 해결

이 항목에서는 SQL Server에서 실행 중인 관리되는 데이터베이스 개체와 어셈블리를 모니터링하고 문제를 해결하는 데 사용할 수 있는 도구에 대한 정보를 제공합니다.

프로파일러 추적 이벤트

SQL Server는 데이터베이스 엔진에서 발생하는 이벤트를 모니터링하기 위한 SQL Trace와 이벤트 알림을 제공합니다. SQL Trace는 지정된 이벤트를 기록하여 성능 관련 문제 해결, 데이터베이스 작업 감사, 테스트 환경을 위한 샘플 데이터 수집, Transact-SQL 문 및 저장 프로시저 디버깅, 성능 분석 도구를 위한 데이터 수집 등의 작업을 도와 줍니다. 자세한 내용은 이벤트 모니터링을 참조하십시오.

이벤트

설명

Assembly Load 이벤트 클래스

어셈블리 로드 요청(성공 및 실패)을 모니터링하는 데 사용합니다.

SQL:BatchStarting 이벤트 클래스, SQL:BatchCompleted 이벤트 클래스

시작되거나 완료된 Transact-SQL 일괄 처리에 대한 정보를 제공합니다.

SP:Starting 이벤트 클래스, SP:Completed 이벤트 클래스

Transact-SQL 저장 프로시저의 실행을 모니터링하는 데 사용합니다.

SQL:StmtStarting 이벤트 클래스, SQL:StmtCompleted 이벤트 클래스

CLR 및 Transact-SQL 루틴의 실행을 모니터링하는 데 사용합니다.

성능 카운터

SQL Server는 SQL Server 인스턴스를 실행하는 컴퓨터의 작업을 모니터링하기 위해 시스템 모니터에서 사용할 수 있는 개체 및 카운터를 제공합니다. 개체는 SQL Server 잠금이나 Windows XP 프로세스와 같은 모든 SQL Server 리소스를 말합니다. 각 개체에는 모니터링할 개체의 여러 요소를 결정하는 하나 이상의 카운터가 포함됩니다. 자세한 내용은 SQL Server 개체 사용을 참조하십시오.

개체

설명

SQL Server, CLR 개체

CLR 실행에 소요된 총 시간입니다.

Windows 시스템 모니터(PERFMON.EXE) 카운터

Windows 시스템 모니터(PERFMON.EXE) 도구에는 CLR 통합 응용 프로그램을 모니터링하는 데 사용할 수 있는 여러 개의 성능 카운터가 포함되어 있습니다. .NET CLR 성능 카운터를 "sqlservr" 프로세스 이름으로 필터링하여 현재 실행 중인 CLR 통합 응용 프로그램을 추적할 수 있습니다.

성능 개체

설명

SqlServer:CLR

서버에 대한 CPU 통계를 제공합니다.

.NET CLR Exceptions

초당 예외 수를 추적합니다.

.NET CLR Loading

서버에 로드된 AppDomains 및 어셈블리에 대한 정보를 제공합니다.

.NET CLR Memory

CLR 메모리 사용량에 대한 정보를 제공합니다. 이 개체를 사용하면 메모리 사용량이 지나치게 많을 경우 알림 플래그를 지정할 수 있습니다.

.NET Data Provider for SQL Server

초당 연결 및 연결 해제 횟수를 추적합니다. 이 개체를 사용하면 데이터베이스 작업의 수준을 모니터링할 수 있습니다.

카탈로그 뷰

카탈로그 뷰는 SQL Server 데이터베이스 엔진에서 사용하는 정보를 반환합니다. 카탈로그 뷰는 카탈로그 메타데이터에 대한 가장 일반적인 인터페이스이며 정보를 획득 및 변환하고 사용자 지정 형태로 제공하는 데 가장 효과적인 방법을 제공하므로 카탈로그 뷰를 사용하는 것이 좋습니다. 사용자가 이용할 수 있는 모든 카탈로그 메타데이터는 카탈로그 뷰를 통해 표시됩니다. 자세한 내용은 카탈로그 뷰(Transact-SQL)를 참조하십시오.

카탈로그 뷰

설명

sys.assemblies(Transact-SQL)

데이터베이스에 등록된 어셈블리에 대한 정보를 반환합니다.

sys.assembly_references(Transact-SQL)

다른 어셈블리를 참조하는 어셈블리를 식별합니다.

sys.assembly_modules(Transact-SQL)

어셈블리에 정의된 각 함수, 저장 프로시저 및 트리거에 대한 정보를 반환합니다.

sys.assembly_files(Transact-SQL)

데이터베이스에 등록된 어셈블리 파일에 대한 정보를 반환합니다.

sys.assembly_types(Transact-SQL)

어셈블리로 정의된 UDT(사용자 정의 형식)를 식별합니다.

sys.module_assembly_usages(Transact-SQL)

CLR 모듈이 정의되어 있는 어셈블리를 식별합니다.

sys.parameter_type_usages(Transact-SQL)

사용자 정의 형식인 매개 변수에 대한 정보를 반환합니다.

sys.server_assembly_modules(Transact-SQL)

CLR 트리거가 정의되어 있는 어셈블리를 식별합니다.

sys.server_triggers(Transact-SQL)

CLR 트리거를 비롯하여 서버의 서버 수준 DDL 트리거를 식별합니다.

sys.type_assembly_usages(Transact-SQL)

사용자 정의 형식이 정의되어 있는 어셈블리를 식별합니다.

sys.types(Transact-SQL)

데이터베이스에 등록된 시스템 유형 및 사용자 정의 형식을 반환합니다.

동적 관리 뷰

동적 관리 뷰 및 함수는 서버 인스턴스 상태 모니터링, 문제 진단 및 성능 튜닝에 사용할 수 있는 서버 상태 정보를 반환합니다. 자세한 내용은 동적 관리 뷰 및 함수(Transact-SQL)를 참조하십시오.

DMV

설명

sys.dm_clr_appdomains(Transact-SQL)

서버의 각 응용 프로그램 도메인에 대한 정보를 제공합니다.

sys.dm_clr_loaded_assemblies(Transact-SQL)

서버에 등록된 각 관리되는 어셈블리를 식별합니다.

sys.dm_clr_properties(Transact-SQL)

호스팅된 CLR에 대한 정보를 반환합니다.

sys.dm_clr_tasks(Transact-SQL)

현재 실행 중인 모든 CLR 태스크를 식별합니다.

sys.dm_exec_cached_plans(Transact-SQL)

더 빠른 쿼리 실행을 위해 SQL Server에 캐시된 쿼리 실행 계획에 대한 정보를 반환합니다.

sys.dm_exec_query_stats(Transact-SQL)

캐시된 쿼리 계획에 대한 집계 성능 통계를 반환합니다.

sys.dm_exec_requests(Transact-SQL)

SQL Server에서 실행 중인 각 요청에 대한 정보를 반환합니다.

sys.dm_os_memory_clerks(Transact-SQL)

CLR 메모리 클럭을 비롯하여 SQL Server 인스턴스에서 현재 활성 상태인 모든 메모리 클럭을 반환합니다.