每日檢核項目:
檢核記錄檔:
- 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"
軟硬體執行環境分析
- 電源管理:透過電源管理可以避免CPU自動降頻。
- 硬體效能:CRYSTALDISKMARK
- 效能監視器:轉出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版本才有支援。