'SQL Server'에 해당되는 글 27건

  1. 2012.07.19 링크
  2. 2011.03.25 CPU, I/O Bottleneck 찾기
  3. 2011.03.25 tempdb 공간 사용 현황
2012. 7. 19. 15:46
2011. 3. 25. 01:44

SQL Server 2005 이후 버전은 DMV를 이용해서 간단하게 Bottleneck을 일으키는 쿼리를 찾을 수 있다.

 

--CPU Bottleneck 상위50

select top 50

           qs.total_worker_time / execution_count as avg_worker_time,

           substring(st.text, (qs.statement_start_offset/2)+1,

           ((case qs.statement_end_offset

           when -1 then datalength(st.text)

           else qs.statement_end_offset

           end - qs.statement_start_offset)/2) + 1) as statement_text,

*

from

           sys.dm_exec_query_stats as qs

           cross apply sys.dm_exec_sql_text(qs.sql_handle) as st

order by

           avg_worker_time desc

          

 

--I/O Bottleneck 상위50

select top 50

           (total_logical_reads + total_logical_writes) as total_logical_io,

           (total_logical_reads/execution_count) as avg_logical_reads,

           (total_logical_writes/execution_count) as avg_logical_writes,

           (total_physical_reads/execution_count) as avg_phys_reads,

           substring(st.text, (qs.statement_start_offset/2)+1,

           ((case qs.statement_end_offset

           when -1 then datalength(st.text)

           else qs.statement_end_offset

           end - qs.statement_start_offset)/2) + 1) as statement_text,

*

from

           sys.dm_exec_query_stats as qs

           cross apply sys.dm_exec_sql_text(qs.sql_handle) as st

order by

           total_logical_io desc


'SQL Server > Tips' 카테고리의 다른 글

SQL Server DBCC CHECKDB  (0) 2012.07.30
SQL Server COALESCE 함수  (0) 2012.07.26
SQL Server KILL WITH STATUSONLY 옵션  (0) 2012.07.26
링크  (0) 2012.07.19
tempdb 공간 사용 현황  (0) 2011.03.25
Posted by 니노G
2011. 3. 25. 01:23

DMV를 사용해서 tempdb 공간 사용 현황을 확인할 수 있다.

 

SELECT

           SUM (user_object_reserved_page_count)*8 AS user_objects_kb,

           SUM (internal_object_reserved_page_count)*8 AS internal_objects_kb,

           SUM (version_store_reserved_page_count)*8 AS version_store_kb,

           SUM (unallocated_extent_page_count)*8 AS freespace_kb

FROM

sys.dm_db_file_space_usage

WHERE

database_id = 2;

GO

'SQL Server > Tips' 카테고리의 다른 글

SQL Server DBCC CHECKDB  (0) 2012.07.30
SQL Server COALESCE 함수  (0) 2012.07.26
SQL Server KILL WITH STATUSONLY 옵션  (0) 2012.07.26
링크  (0) 2012.07.19
CPU, I/O Bottleneck 찾기  (0) 2011.03.25
Posted by 니노G