2014-10-06 3 views
0

SQL Server의 활동 모니터링 패널에 나타나는 데이터를 기록하려고합니다. 활동 모니터는 현재 인스턴스의 데이터베이스에서 일어나는 일에 대한 좋은 개요를 제공하므로 더 자세히 분석 할 수 있도록이 데이터를 몇 시간 동안 기록 할 수 있으면 좋을 것입니다.SQL Server의 활동 모니터에서 데이터 기록

저는 "최근의 비싼 검색어"패널의 내용에 관심이 많습니다. 이 데이터는 sys.dm_exec_requests 및 sys.dm_exec_query_stats에서 비롯된 것으로 알고 있으므로 정기적으로 파일의 내용을 덤프하는 작은 스크립트를 작성하는 일은 그리 어렵지 않을 것입니다.하지만 이미 그렇게 할 수있는 것이 있는지 궁금합니다.

우리가 사용하고 있습니다 : SQL 서버 2008 R2는

답변

0

당신은 모든 쿼리 및 해당 화면에 사용되는 저장 프로 시저를 얻기 위해 SQL 프로파일 러를 사용할 수 있습니다. 하지만 이것을 사용합니다 :

SELECT TOP 10 
    qs.execution_count, 
    qs.total_logical_reads, qs.last_logical_reads, 
    qs.total_logical_writes, qs.last_logical_writes, 
    qs.total_worker_time, 
    qs.last_worker_time, 
    qs.total_elapsed_time/1000000 total_elapsed_time_in_S, 
    qs.last_elapsed_time/1000000 last_elapsed_time_in_S, 
    qs.last_execution_time, 
    SUBSTRING(qt.TEXT, (qs.statement_start_offset/2)+1, 
    ((CASE qs.statement_end_offset 
     WHEN -1 THEN DATALENGTH(qt.TEXT) 
     ELSE qs.statement_end_offset 
     END - qs.statement_start_offset)/2)+1) Query 
FROM sys.dm_exec_query_stats qs 
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt 
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp 
ORDER BY qs.{What to sort on} DESC