2015年1月7日 星期三

MVA學習筆記:SQLServer例行管理

MVA連結

每日檢核項目:

檢核記錄檔:


  • SQLServer錯誤記錄檔
  • WindowsServer事件檢視器
  • 硬體異常記錄
  • 排程作業是否正常
  • 效能記錄檔
  • 是否raid硬碟故障

每週檢核項目:

確認備份檔案可用性


作業系統、SQLServer、應用程式更新

SQLServer Management Studio報表

資料庫交易記錄檔是否異常成長

每月檢核項目:

  • 執行備份還原演練
  • 變更管理
  • DBCC檢查
  • 容量規劃/基準比較
  • 健全狀況
  • 改善計劃

可利用SP快速查詢LOG

  • exec sp_readerrorlog
  • 參考連結
  • exec xp_readerrorlog
  • sp_readerrorlog的底層一樣是使用xp去作業,但多了一個權限的限制。
  • sp_cycle_errorlog-關閉目前記錄檔,重新開始。

可以利用Power Shell來取得LOG

  • # 取得在 2014-07-01 之後的事件檢視器內的 Application Event Log  
  • #get-eventlog -logname Application -After "2014-08-01"

  • # 只取 SQL Server 的訊息
  • #get-eventlog -logname Application -After "2014-08-01" -Source "MSSQLSERVER"

  • # 只取 SQL Server 的錯誤訊息 
  • get-eventlog -logname Application -After "2014-07-01" -Source "MSSQLSERVER"  -EntryType "Error"

  • # 存到 CSV 檔案內
  • get-eventlog -logname Application -After "2014-08-01" -EntryType "Error" -Source "MSSQLSERVER" |
  • export-csv -Path C:\TEST.csv -NoTypeInformation -Encoding "unicode"

軟硬體執行環境分析

  1. 電源管理:透過電源管理可以避免CPU自動降頻。
  2. 硬體效能:CRYSTALDISKMARK
  3. 效能監視器:轉出CSV之後透過分析表來分析。
  • 2008以前執行『performance monitor』
  • 2008之後在伺服器管理員的診斷\效能

索引維護

  • 只要對基礎資料進行CURD作業,SQLSERVER會自動維護索引,但過一段時間之後,這些修改就可能使索引中的資訊變成散佈於資料庫中,當根據索引鍵值的邏輯順序頁面與資料檔中的實體順序不相符時,就會有片段產生。
  • 片段嚴重的索引可能會造成查詢效能降低並使回應變慢。
  • sys.dm_db_index_physical_stats取得相關資訊。
SELECT
OBJECT_NAME(s.object_id) tablename, i.name indexname,
index_type_desc,index_level, avg_fragmentation_in_percent,avg_page_space_used_in_percent, page_count

FROM sys.dm_db_index_physical_stats(DB_ID(N‘資料庫名稱'), NULL, NULL, NULL , 'SAMPLED') s
JOIN sys.indexes i ON s.object_id = i.object_id and s.index_id = i.index_id
ORDER BY avg_fragmentation_in_percent DESC

  • 利用維護計劃來做索引維護
  • 可以透過指令來針對部份TABLE做索引重建
  • 透過報表可以看索引實體統計資料瞭解索引狀況。
  • Fragmentation>30,建議重建索引。5~30選擇重新組織索引。
  • 重建索引時,索引保留在線上<-這功能只有在Enterprise版本才有支援。


沒有留言:

張貼留言