本文旨在幫助SQL Server資料庫的使用人員瞭解常見的問題,及快速解決這些問題。這些問題是資料庫的常規管理問題,對於很多對資料庫沒有深入瞭解的朋友提供一個大概的常見問題框架。
下面一些問題是在近千家資料庫使用者診斷時發現的常規問題,本文分為【常見問題診斷流程】-【常見問題】-【常見問題快速解決的建議】
瞭解系統效能(語句執行時間、對談等待)
語句執行時間:橫座標為時間範圍,縱座標為在執行時間在範圍內分佈的語句數量。
(本例:收集時間內語句執行時間在3-5秒的語句數量有1103條,5-10秒,10-20秒慢語句數量很多,說明系統語句執行緩慢,系統存在效能問題)
對談-等待型別:橫座標為等待型別,縱座標為等待數量。
(本例:系統中發生大量的等待,說明系統存在效能問題)
瞭解系統執行指標(CPU、記憶體、磁碟計數器)
通過3個主要計數器診斷系統是否存在瓶頸和產生瓶頸的資源。
瞭解系統中每秒請求的語句數量和系統開啟的連線數量,掌握系統壓力量級。
(注:可多次收集分析,掌握系統壓力波動和處理能力)
瞭解系統中的潛在風險與缺陷情況
(紅色:嚴重程度高,建議問題全部解決)
從系統、引數、對談、效能計數器、查詢語句、作業、紀錄檔、執行計劃、tempdb、業務資料庫多方面呈現系統存在的問題與隱患。
(綠色:設定標準,藍色:嚴重程度低,橙色:嚴重程度中等,紅色:嚴重程度高,可能造成風險)
檢視不合理引數—點選操作按鈕
在彈出頁檢視當前執行值,與建議值。
彈出優化設定指令碼—如需修改複製文字—在伺服器執行即可修改
在【資料庫】模組的【缺失索引】中,建立資料庫的缺失索引。
注:並非所有提示的索引都需要建立,根據【平均影響百分比】【平均使用者開銷百分比】【使用者查詢次數】情況綜合評價,建立系統中缺失的重要索引。並綜合【相等列】【不等列】【包含列】建立包含多種情況的最優索引。
在【查詢語句】模組的【查詢語句】-【彙總檢視】中,通過【執行次數】或【cpu時間】【讀次數】【寫次數】【影響行數】等對重點語句,重點優化。
點選語句可以進入【分類檢視】,語句的詳細執行資訊頁
在【分類檢視】頁面,可以點選語句進入【關聯項】檢視每條語句執行的具體資訊及執行計劃,等待等資訊。
任何資料庫為了保證業務的連續性和高可用性,以及資料的安全性,都必須採用高可用方案規避單點的風險。
資料庫主流的高可用技術:Always On可用性組,SQL故障轉移群集,紀錄檔傳送技術,映象技術,及moebius負載均衡叢集
通常的情況下,我們都是通過sa進行設定密碼的,而且在config檔案裡面明文的寫上我們的帳號和密碼,這樣的設計存在很大的安全隱患,無論是受攻擊還是誤刪除都會給系統帶來嚴重的後果,建議對使用者進行許可權規劃,賬號劃分等安全措施。
接觸過上百家客戶因為沒有及時發現資料頁損壞而導致的資料庫不可用或資料丟失,建議每週執行及時發現資料庫損壞。
在表結構設計中建議表中都有聚集索引,外來鍵新增索引,以提升效能。
在資料庫物理設計和程式呼叫設計時欄位型別不匹配(程式傳入的型別轉換優先順序高於資料庫中欄位型別,如表中varchar 而程式傳入nvarchar)會發生隱式轉換,隱式轉換增加資料庫效能消耗,還會使索引無法使用而導致嚴重的效能問題。
通過工具語句的【執行計劃】中找到對應的隱式轉換處,分析程式傳入和資料庫表設計綜合解決。
北京格瑞趨勢科技有限公司是聚焦於資料服務的高新技術企業,成立於2008年,創始團隊及核心技術人員來自微軟和雅虎。微軟資料平臺金牌合作伙伴,衛寧健康資料平臺戰略合作伙伴。通過產品+服務雙輪驅動的業務模式,14年間累計服務4000+客戶,覆蓋網際網路、市政、交通、電信、醫療、教育、電力、製造業等各個領域。