溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SQL Server常見問題介紹及快速解決建議

發(fā)布時(shí)間:2020-07-12 11:44:51 來源:網(wǎng)絡(luò) 閱讀:506 作者:SQL專家云 欄目:數(shù)據(jù)庫

前言

  本文旨在幫助SQL Server數(shù)據(jù)庫的使用人員了解常見的問題,及快速解決這些問題。這些問題是數(shù)據(jù)庫的常規(guī)管理問題,對于很多對數(shù)據(jù)庫沒有深入了解的朋友提供一個(gè)大概的常見問題框架。

  下面一些問題是在近千家數(shù)據(jù)庫用戶診斷時(shí)發(fā)現(xiàn)的常規(guī)問題,本文分為【常見問題診斷流程】-【常見問題】-【常見問題快速解決的建議】

常見問題診斷流程

  概覽模塊—[匯總]了解系統(tǒng)

 SQL Server常見問題介紹及快速解決建議

  1. 了解系統(tǒng)性能(語句執(zhí)行時(shí)間、會(huì)話等待)

SQL Server常見問題介紹及快速解決建議

 

 

語句執(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)存在性能問題)

 SQL Server常見問題介紹及快速解決建議

 

會(huì)話-等待類型:橫坐標(biāo)為等待類型,縱坐標(biāo)為等待數(shù)量。

(本例:系統(tǒng)中發(fā)生大量的等待,說明系統(tǒng)存在性能問題)

  1. 了解系統(tǒng)運(yùn)行指標(biāo)(CPU、內(nèi)存、磁盤計(jì)數(shù)器)

通過3個(gè)主要計(jì)數(shù)器診斷系統(tǒng)是否存在瓶頸和產(chǎn)生瓶頸的資源。

 SQL Server常見問題介紹及快速解決建議

SQL Server常見問題介紹及快速解決建議

SQL Server常見問題介紹及快速解決建議

 

 

 

  1. 了解系統(tǒng)請求壓力(批處理請求/每秒、連接數(shù))  

了解系統(tǒng)中每秒請求的語句數(shù)量和系統(tǒng)打開的連接數(shù)量,掌握系統(tǒng)壓力量級。

(注:可多次收集分析,掌握系統(tǒng)壓力波動(dòng)和處理能力)

 SQL Server常見問題介紹及快速解決建議

SQL Server常見問題介紹及快速解決建議

 

 

  1. 了解系統(tǒng)問題嚴(yán)重度(檢查項(xiàng)、SQL錯(cuò)誤日志類型)

了解系統(tǒng)中的潛在風(fēng)險(xiǎn)與缺陷情況

(紅色:嚴(yán)重程度高,建議問題全部解決)

 SQL Server常見問題介紹及快速解決建議

 

  [檢查項(xiàng)]模塊—[全部]發(fā)現(xiàn)系統(tǒng)問題

 SQL Server常見問題介紹及快速解決建議

 

從系統(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))

常見問題

 SQL Server常見問題介紹及快速解決建議

 

  性能問題

  1. 性能參數(shù)配置不合理:硬件不能發(fā)揮最大性能

  2. 系統(tǒng)等待嚴(yán)重:導(dǎo)致語句運(yùn)行緩慢

  3. 執(zhí)行超過3秒的語句數(shù)量多:客戶體驗(yàn)差

  4. 存在缺失索引情況:導(dǎo)致語句運(yùn)行緩慢,消耗過多系統(tǒng)資源

  環(huán)境問題

  1. 磁盤空間規(guī)劃問題:磁盤空間不足或不能滿足未來業(yè)務(wù)

  2. 補(bǔ)丁不是最新:由于微軟版本缺陷導(dǎo)致部分功能異常。

  備份問題

  1. 備份缺失:故障發(fā)生會(huì)導(dǎo)致全部數(shù)據(jù)丟失

  2. 備份計(jì)劃不合理:導(dǎo)致性能問題或長時(shí)間數(shù)據(jù)丟失風(fēng)險(xiǎn)

  3. 備份文件與數(shù)據(jù)文件同盤:磁盤發(fā)生故障,導(dǎo)致數(shù)據(jù)與備份一起丟失或損壞

  可用性問題

  1. 數(shù)據(jù)庫單點(diǎn)風(fēng)險(xiǎn):發(fā)生故障會(huì)導(dǎo)致業(yè)務(wù)中斷,故障導(dǎo)致數(shù)據(jù)丟失

  安全問題

  1. 缺少數(shù)據(jù)一致性檢查(checkdb):不能及時(shí)發(fā)現(xiàn)數(shù)據(jù)損壞而最終導(dǎo)致數(shù)據(jù)庫故障和數(shù)據(jù)丟失

  2. 大量登錄失敗:檢查系統(tǒng)是否受到***或是否程序修改導(dǎo)致大量登錄失敗

  結(jié)構(gòu)設(shè)計(jì)問題

  1. 超過10分鐘會(huì)話并帶有事務(wù):長時(shí)間存在不提交事務(wù),會(huì)導(dǎo)致程序阻塞,檢查應(yīng)用程序是否有連接泄露

  2. 存在隱式轉(zhuǎn)換:導(dǎo)致不能使用索引(例:表字段定義varchar,程序傳參類型為nvarchar)

  3. 表缺少聚集索引:導(dǎo)致性能問題

  4. 表上外鍵缺失索引:導(dǎo)致性能問題

快速解決問題與常規(guī)建議

快速解決性能問題

   配置系統(tǒng)參數(shù)

查看不合理參數(shù)—點(diǎn)擊操作按鈕

 SQL Server常見問題介紹及快速解決建議

 

在彈出頁查看當(dāng)前運(yùn)行值,與建議值。

 SQL Server常見問題介紹及快速解決建議

 

彈出優(yōu)化配置腳本—如需修改復(fù)制文本—在服務(wù)器運(yùn)行即可修改

  添加缺失索引

在【數(shù)據(jù)庫】模塊的【缺失索引】中,創(chuàng)建數(shù)據(jù)庫的缺失索引。

 SQL Server常見問題介紹及快速解決建議

 

注:并非所有提示的索引都需要?jiǎng)?chuàng)建,根據(jù)【平均影響百分比】【平均用戶開銷百分比】【用戶查找次數(shù)】情況綜合評價(jià),建立系統(tǒng)中缺失的重要索引。并綜合【相等列】【不等列】【包含列】創(chuàng)建包含多種情況的最優(yōu)索引。

  根據(jù)執(zhí)行頻率和開銷分析重點(diǎn)語句

在【查詢語句】模塊的【查詢語句】-【匯總視圖】中,通過【執(zhí)行次數(shù)】或【cpu時(shí)間】【讀次數(shù)】【寫次數(shù)】【影響行數(shù)】等對重點(diǎn)語句,重點(diǎn)優(yōu)化。

 SQL Server常見問題介紹及快速解決建議

 

點(diǎn)擊語句可以進(jìn)入【分類視圖】,語句的詳細(xì)執(zhí)行信息頁

 SQL Server常見問題介紹及快速解決建議

 

 

在【分類視圖】頁面,可以點(diǎn)擊語句進(jìn)入【關(guān)聯(lián)項(xiàng)】查看每條語句執(zhí)行的具體信息及執(zhí)行計(jì)劃,等待等信息。

 SQL Server常見問題介紹及快速解決建議

 

環(huán)境問題的建議

  磁盤規(guī)劃

  1. 按照文件類型劃分:數(shù)據(jù)文件、日志文件、tempDB文件、備份文件,分別放在一個(gè)物理磁盤(4塊物理磁盤)

  2. 按照數(shù)據(jù)庫劃分:不同的業(yè)務(wù)數(shù)據(jù)庫(壓力大的)分別放在一個(gè)物理磁盤,tempDB和備份文件各一個(gè)物理磁盤。(大型業(yè)務(wù)庫數(shù)+2)

  操作系統(tǒng)與版本

  1. 建議使用64位操作系統(tǒng)和SQL SERVER軟件

  2. 建議SQL SERVER補(bǔ)丁為最新補(bǔ)丁

備份問題的建議

  1. 中小數(shù)據(jù)庫備份方案:每天全備份、一小時(shí)一次日志備份。

  2. 大型數(shù)據(jù)庫備份方案:每周全備份、每天差異備份、一小時(shí)一次日志備份。

  3. 備份文件與數(shù)據(jù)文件放置在不同物理磁盤

  4. 備份文件拷貝異地(容災(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ù)載均衡集群

安全問題建議

  賬號安全與權(quán)限管理

通常的情況下,我們都是通過sa進(jìn)行設(shè)置密碼的,而且在config文件里面明文的寫上我們的帳號和密碼,這樣的設(shè)計(jì)存在很大的安全隱患,無論是受***還是誤刪除都會(huì)給系統(tǒng)帶來嚴(yán)重的后果,建議對用戶進(jìn)行權(quán)限規(guī)劃,賬號劃分等安全措施。

  維護(hù)任務(wù)CHECKDB保證數(shù)據(jù)安全

接觸過上百家客戶因?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ì)的建議

  聚集索引與外鍵索引

在表結(jié)構(gòu)設(shè)計(jì)中建議表中都有聚集索引,外鍵添加索引,以提升性能。

  隱式轉(zhuǎn)換

在數(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ì)綜合解決。

  SQL Server常見問題介紹及快速解決建議

 


向AI問一下細(xì)節(jié)

免責(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)容。

AI