sql server效能分析–定時收集系統運行情況

來源:互聯網
上載者:User

   最近要回到公司,暫時離開客戶的生產資料庫,不能及時得到下列資料庫資訊:

       1,系統運行sql語句的執行情況     2,統計每天全部表的資料變化(資料每天的增量)。

    特意寫了3個job線程,在晚上業務不繁忙的時候執行,來收集系統運行情況資訊,等我回來再來分析sql,同時為系統最佳化提供參考。

create table tbSql(
 [語句編譯時間] datetime,
 [物理讀取總次數] int,
 [每次邏輯讀次數] int, 
 [邏輯寫入總次數] int,
 [執行次數] int,
 [所用的CPU總時間ms] numeric(30,3),
 [總花費時間ms] numeric(30,3),
 [平均時間ms] numeric(30,3),
 [執行語句] text,
 [收集時間] datetime,
)
insert into tbSql
SELECT  creation_time  N'語句編譯時間'
        ,total_physical_reads N'物理讀取總次數'
        ,total_logical_reads/execution_count N'每次邏輯讀次數'
        ,total_logical_writes N'邏輯寫入總次數'
        , execution_count  N'執行次數'
        , total_worker_time/1000 N'所用的CPU總時間ms'
        , total_elapsed_time/1000  N'總花費時間ms'
        , (total_elapsed_time / execution_count)/1000  N'平均時間ms'
        ,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
         ((CASE statement_end_offset 
          WHEN -1 THEN DATALENGTH(st.text)
          ELSE qs.statement_end_offset END 
            - qs.statement_start_offset)/2) + 1) N'執行語句',
          getdate()
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
where SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
         ((CASE statement_end_offset 
          WHEN -1 THEN DATALENGTH(st.text)
          ELSE qs.statement_end_offset END 
            - qs.statement_start_offset)/2) + 1) not like '%fetch%'
ORDER BY  total_elapsed_time / execution_count DESC;

dbcc freeProcCache;  --清理執行計畫緩衝

  job每天收集表行數: 

select object_name(id),max(rows) from sysindexes 
group by object_name(id)
order by 2 desc
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.