DMV를 통한 성능모니터링
목적 : DVM를 통하여 쿼리단에서 PERFMON을 측정해보자.
SQL2005 부터 도입된 DMV를 통하여 쿼리 단에서도 성능모니터링의 확인 가능하다.
주의 할점은 sys.dm_os_performance_counters 뷰 컬럼 중 cntr_type
에 따라 계산이 필요 할 수 도 있고 없을 수도 있다.
상세내역은 하기의 url을 참조.
http://msdn.microsoft.com/en-us/library/aa394569(VS.85).aspx
하기는 10초 동안의 버퍼 관리자의 지연 기록기가 기록한 버퍼 수('Lazy writes/sec')를 구하는 예제
DECLARE @time_Before DATETIME;
DECLARE @time_After DATETIME;
DECLARE @value_Before BIGINT;
DECLARE @value_After BIGINT;
SELECT @value_Before=cntr_value, @time_Before=getdate()
FROM sys.dm_os_performance_counters
WHERE object_name='SQLServer:Buffer Manager'
AND counter_name ='Lazy writes/sec';
WAITFOR
DELAY
'00:00:10';
SELECT @value_After=cntr_value, @time_After =getdate()
FROM sys.dm_os_performance_counters
WHERE object_name='SQLServer:Buffer Manager'
AND counter_name ='Lazy writes/sec';
SELECT (@value_After - @value_Before )/datediff(ss,@time_Before,@time_After)
AS [Lazy writes/sec];