您好,登錄后才能下訂單哦!
本文旨在幫助SQL Server數(shù)據(jù)庫的使用人員了解常見的問題,及快速解決這些問題。這些問題是數(shù)據(jù)庫的常規(guī)管理問題,對于很多對數(shù)據(jù)庫沒有深入了解的朋友提供一個(gè)大概的常見問題框架。
下面一些問題是在近千家數(shù)據(jù)庫用戶診斷時(shí)發(fā)現(xiàn)的常規(guī)問題,本文分為【常見問題診斷流程】-【常見問題】-【常見問題快速解決的建議】
了解系統(tǒng)性能(語句執(zhí)行時(shí)間、會(huì)話等待)
語句執(zhí)行時(shí)間:橫坐標(biāo)為時(shí)間范圍,縱坐標(biāo)為在執(zhí)行時(shí)間在范圍內(nèi)分布的語句數(shù)量。
(本例:收集時(shí)間內(nèi)語句執(zhí)行時(shí)間在3-5秒的語句數(shù)量有1103條,5-10秒,10-20秒慢語句數(shù)量很多,說明系統(tǒng)語句執(zhí)行緩慢,系統(tǒng)存在性能問題)
會(huì)話-等待類型:橫坐標(biāo)為等待類型,縱坐標(biāo)為等待數(shù)量。
(本例:系統(tǒng)中發(fā)生大量的等待,說明系統(tǒng)存在性能問題)
了解系統(tǒng)運(yùn)行指標(biāo)(CPU、內(nèi)存、磁盤計(jì)數(shù)器)
通過3個(gè)主要計(jì)數(shù)器診斷系統(tǒng)是否存在瓶頸和產(chǎn)生瓶頸的資源。
了解系統(tǒng)請求壓力(批處理請求/每秒、連接數(shù))
了解系統(tǒng)中每秒請求的語句數(shù)量和系統(tǒng)打開的連接數(shù)量,掌握系統(tǒng)壓力量級。
(注:可多次收集分析,掌握系統(tǒng)壓力波動(dòng)和處理能力)
了解系統(tǒng)問題嚴(yán)重度(檢查項(xiàng)、SQL錯(cuò)誤日志類型)
了解系統(tǒng)中的潛在風(fēng)險(xiǎn)與缺陷情況
(紅色:嚴(yán)重程度高,建議問題全部解決)
從系統(tǒng)、參數(shù)、會(huì)話、性能計(jì)數(shù)器、查詢語句、作業(yè)、日志、執(zhí)行計(jì)劃、tempdb、業(yè)務(wù)數(shù)據(jù)庫多方面呈現(xiàn)系統(tǒng)存在的問題與隱患。
(綠色:配置標(biāo)準(zhǔn),藍(lán)色:嚴(yán)重程度低,橙色:嚴(yán)重程度中等,紅色:嚴(yán)重程度高,可能造成風(fēng)險(xiǎn))
性能參數(shù)配置不合理:硬件不能發(fā)揮最大性能
系統(tǒng)等待嚴(yán)重:導(dǎo)致語句運(yùn)行緩慢
執(zhí)行超過3秒的語句數(shù)量多:客戶體驗(yàn)差
存在缺失索引情況:導(dǎo)致語句運(yùn)行緩慢,消耗過多系統(tǒng)資源
磁盤空間規(guī)劃問題:磁盤空間不足或不能滿足未來業(yè)務(wù)
補(bǔ)丁不是最新:由于微軟版本缺陷導(dǎo)致部分功能異常。
備份缺失:故障發(fā)生會(huì)導(dǎo)致全部數(shù)據(jù)丟失
備份計(jì)劃不合理:導(dǎo)致性能問題或長時(shí)間數(shù)據(jù)丟失風(fēng)險(xiǎn)
備份文件與數(shù)據(jù)文件同盤:磁盤發(fā)生故障,導(dǎo)致數(shù)據(jù)與備份一起丟失或損壞
數(shù)據(jù)庫單點(diǎn)風(fēng)險(xiǎn):發(fā)生故障會(huì)導(dǎo)致業(yè)務(wù)中斷,故障導(dǎo)致數(shù)據(jù)丟失
缺少數(shù)據(jù)一致性檢查(checkdb):不能及時(shí)發(fā)現(xiàn)數(shù)據(jù)損壞而最終導(dǎo)致數(shù)據(jù)庫故障和數(shù)據(jù)丟失
大量登錄失敗:檢查系統(tǒng)是否受到***或是否程序修改導(dǎo)致大量登錄失敗
超過10分鐘會(huì)話并帶有事務(wù):長時(shí)間存在不提交事務(wù),會(huì)導(dǎo)致程序阻塞,檢查應(yīng)用程序是否有連接泄露
存在隱式轉(zhuǎn)換:導(dǎo)致不能使用索引(例:表字段定義varchar,程序傳參類型為nvarchar)
表缺少聚集索引:導(dǎo)致性能問題
表上外鍵缺失索引:導(dǎo)致性能問題
查看不合理參數(shù)—點(diǎn)擊操作按鈕
在彈出頁查看當(dāng)前運(yùn)行值,與建議值。
彈出優(yōu)化配置腳本—如需修改復(fù)制文本—在服務(wù)器運(yùn)行即可修改
在【數(shù)據(jù)庫】模塊的【缺失索引】中,創(chuàng)建數(shù)據(jù)庫的缺失索引。
注:并非所有提示的索引都需要?jiǎng)?chuàng)建,根據(jù)【平均影響百分比】【平均用戶開銷百分比】【用戶查找次數(shù)】情況綜合評價(jià),建立系統(tǒng)中缺失的重要索引。并綜合【相等列】【不等列】【包含列】創(chuàng)建包含多種情況的最優(yōu)索引。
在【查詢語句】模塊的【查詢語句】-【匯總視圖】中,通過【執(zhí)行次數(shù)】或【cpu時(shí)間】【讀次數(shù)】【寫次數(shù)】【影響行數(shù)】等對重點(diǎn)語句,重點(diǎn)優(yōu)化。
點(diǎn)擊語句可以進(jìn)入【分類視圖】,語句的詳細(xì)執(zhí)行信息頁
在【分類視圖】頁面,可以點(diǎn)擊語句進(jìn)入【關(guān)聯(lián)項(xiàng)】查看每條語句執(zhí)行的具體信息及執(zhí)行計(jì)劃,等待等信息。
按照文件類型劃分:數(shù)據(jù)文件、日志文件、tempDB文件、備份文件,分別放在一個(gè)物理磁盤(4塊物理磁盤)
按照數(shù)據(jù)庫劃分:不同的業(yè)務(wù)數(shù)據(jù)庫(壓力大的)分別放在一個(gè)物理磁盤,tempDB和備份文件各一個(gè)物理磁盤。(大型業(yè)務(wù)庫數(shù)+2)
建議使用64位操作系統(tǒng)和SQL SERVER軟件
建議SQL SERVER補(bǔ)丁為最新補(bǔ)丁
中小數(shù)據(jù)庫備份方案:每天全備份、一小時(shí)一次日志備份。
大型數(shù)據(jù)庫備份方案:每周全備份、每天差異備份、一小時(shí)一次日志備份。
備份文件與數(shù)據(jù)文件放置在不同物理磁盤
備份文件拷貝異地(容災(zāi))
任何數(shù)據(jù)庫為了保證業(yè)務(wù)的連續(xù)性和高可用性,以及數(shù)據(jù)的安全性,都必須采用高可用方案規(guī)避單點(diǎn)的風(fēng)險(xiǎn)。
數(shù)據(jù)庫主流的高可用技術(shù):Always On可用性組,SQL故障轉(zhuǎn)移群集,日志傳送技術(shù),鏡像技術(shù),及moebius負(fù)載均衡集群
通常的情況下,我們都是通過sa進(jìn)行設(shè)置密碼的,而且在config文件里面明文的寫上我們的帳號和密碼,這樣的設(shè)計(jì)存在很大的安全隱患,無論是受***還是誤刪除都會(huì)給系統(tǒng)帶來嚴(yán)重的后果,建議對用戶進(jìn)行權(quán)限規(guī)劃,賬號劃分等安全措施。
接觸過上百家客戶因?yàn)闆]有及時(shí)發(fā)現(xiàn)數(shù)據(jù)頁損壞而導(dǎo)致的數(shù)據(jù)庫不可用或數(shù)據(jù)丟失,建議每周運(yùn)行及時(shí)發(fā)現(xiàn)數(shù)據(jù)庫損壞。
在表結(jié)構(gòu)設(shè)計(jì)中建議表中都有聚集索引,外鍵添加索引,以提升性能。
在數(shù)據(jù)庫物理設(shè)計(jì)和程序調(diào)用設(shè)計(jì)時(shí)字段類型不匹配(程序傳入的類型轉(zhuǎn)換優(yōu)先級高于數(shù)據(jù)庫中字段類型,如表中varchar 而程序傳入nvarchar)會(huì)發(fā)生隱式轉(zhuǎn)換,隱式轉(zhuǎn)換增加數(shù)據(jù)庫性能消耗,還會(huì)使索引無法使用而導(dǎo)致嚴(yán)重的性能問題。
通過工具語句的【執(zhí)行計(jì)劃】中找到對應(yīng)的隱式轉(zhuǎn)換處,分析程序傳入和數(shù)據(jù)庫表設(shè)計(jì)綜合解決。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。