'모니터링'에 해당되는 글 2건
- 2012.08.13 실행 쿼리 memory 사용 대기 정보 1
- 2010.03.14 CPU에 할당된 Task 보기 1
2012. 8. 13. 18:21
실행 쿼리 memory 사용 대기 정보
2012. 8. 13. 18:21 in Monitoring
SQL SERVER 2005 이상. - 일부 컬럼은 SQL 2008 이상
메모리 사용을 대기하는 쿼리의 정보를 반환합니다.
메모리 대기를 하지 않는 쿼리는 나타나지 않으며, 이 쿼리에 실행되는 내역이 많다면 메모리 할당 대기가 많다는 의미 입니다.
-- memory used select top 50 --mem.session_id,req.group_id, -- sql 2008 이상 가능 db_name(req.database_id) as db, mem.request_time, mem.grant_time, mem.granted_memory_kb,mem.used_memory_kb, mem.required_memory_kb, mem.query_cost,mem.timeout_sec,mem.wait_time_ms as 'wait_time', object_schema_name(sql_text.objectid,sql_text.dbid) as schema_n, object_name(sql_text.objectid, sql_text.dbid) as spname, CASE WHEN req.statement_end_offset = -1 and ( (req.statement_start_offset / 2) > DATALENGTH (sql_text.text) ) THEN convert(varchar(4000), substring(isnull(sql_text.text, '') , 1, ( ( DATALENGTH (sql_text.text) - 1 )/2 ) + 1 ) ) ELSE convert(varchar(4000), substring(isnull(sql_text.text, '') , (req.statement_start_offset / 2) + 1 , (( case when req.statement_end_offset = -1 then DATALENGTH (sql_text.text) else req.statement_end_offset end - req.statement_start_offset ) /2 ) + 1) ) END as query_text, ses.login_name, ses.host_name, ses.program_name, mem.scheduler_id from sys.dm_exec_requests as req with (nolock) join sys.dm_exec_sessions as ses with (nolock) on req.session_id = ses.session_id join sys.dm_exec_query_memory_grants as mem with (nolock) on req.request_id = mem.request_id and ses.session_id = mem.session_id cross apply sys.dm_exec_sql_text(req.sql_handle) as sql_text where ses.is_user_process = 1 and wait_type <> 'WAITFOR' --and req.database_id = db_id('tiger') -- and mem.grant_time is null -- not allocation order by used_memory_kb desc
'Monitoring' 카테고리의 다른 글
Tempdb 공간 사용 확인 (0) | 2013.09.13 |
---|---|
대랑 I/O 사용 세션 쿼리 (0) | 2012.08.13 |
TEMPDB의 페이지 사용량 측정 (0) | 2012.08.13 |
모니터링::Index 생성 & Rebuild 진행 상황 (0) | 2011.12.06 |
2010. 3. 14. 15:41
CPU에 할당된 Task 보기
2010. 3. 14. 15:41 in Monitoring
SQL SERVER 2005 이상
CPU에 해당하는 Task 보기
select ss.scheduler_id ,ss.parent_node_id,object_name(sql_text.objectid, sql_text.dbid) as 'SP명' ,ses.session_id , ses.host_name , ses.program_name , ses.client_interface_name ,ses.login_name ,substring(sql_text.text,sr.statement_start_offset/2, (case when sr.statement_end_offset = -1 then len(convert(nvarchar(max), sql_text.text)) * 2 else sr.statement_end_offset end - sr.statement_start_offset)/2) as query from sys.dm_os_schedulers as ss with (nolock) inner join sys.dm_os_tasks as st with (nolock) on ss.scheduler_id = st.scheduler_id inner join sys.dm_exec_requests as sr with (nolock) on st.request_id = sr.request_id inner join sys.dm_exec_sessions as ses with (nolock) on sr.session_id = ses.session_id cross apply sys.dm_exec_sql_text(sr.sql_handle) as sql_text -- where ss.parent_node_id = 2 -- numa 노드에서 실행되는 쿼리 -- where ss.scheduler_id = 24 -- cpu 스케줄에 할당된 쿼리
'Monitoring' 카테고리의 다른 글
Admin::Tempdb 의 작업, 모니터링 (0) | 2011.01.30 |
---|---|
T_SQL::SP_WHO2 + DBCC (0) | 2010.06.03 |
DBCC FLUSHPROCINDB (0) | 2010.02.04 |
DeadLock 발생 원인 찾기 (0) | 2009.07.20 |