999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

HIS系統(tǒng)SQL Server數(shù)據(jù)庫死鎖問題的分析與解決

2023-05-08 23:34:00唐顯歲
電腦知識與技術(shù) 2023年9期

唐顯歲

關(guān)鍵詞:HIS系統(tǒng);SQL Server數(shù)據(jù)庫;死鎖;數(shù)據(jù)庫運維

0 引言

SQL Server是由微軟公司開發(fā)的一個大型的關(guān)系型數(shù)據(jù)系統(tǒng),它為用戶提供了一個安全、可靠、易管理和高端的客戶/服務(wù)器數(shù)據(jù)庫平臺。隨著現(xiàn)代數(shù)據(jù)庫應(yīng)用業(yè)務(wù)范圍的拓展,用戶對數(shù)據(jù)庫性能的要求,運維人員對數(shù)據(jù)庫管理的要求都在不斷提高,而SQLServer就是這樣一種高性能的關(guān)系型數(shù)據(jù)庫,它以客戶端/服務(wù)端為設(shè)計結(jié)構(gòu),支持多個不同的開發(fā)平臺,支持企業(yè)級的應(yīng)用程序,支持XML等,能夠滿足多種類型的數(shù)據(jù)庫應(yīng)用場景[1]。因此,SQL Server數(shù)據(jù)庫被廣泛地應(yīng)用在醫(yī)療、教育、商場等各行各業(yè)中,它為使用者提供了一個全面的數(shù)據(jù)管理和業(yè)務(wù)智能平臺。但是,在實際應(yīng)用場景中,面對繁忙的業(yè)務(wù)、復雜的場景以及海量的數(shù)據(jù),難免會出現(xiàn)不同的故障需要調(diào)試,數(shù)據(jù)庫死鎖就是其中之一。

SQL Server數(shù)據(jù)庫貫穿HIS系統(tǒng)設(shè)計、開發(fā)、實施和運行的全過程,HIS系統(tǒng)具有流程復雜,數(shù)據(jù)量龐大的特點,醫(yī)院業(yè)務(wù)要求其具有相應(yīng)速度快且可靠性高,在實際應(yīng)用中,死鎖會使數(shù)據(jù)服務(wù)的終端無法進行任務(wù)操作,并帶來極大的危害且可能導致整個HIS系統(tǒng)癱瘓[2]。

本文通過作者在日常維護中遇到的數(shù)據(jù)庫死鎖問題進行分析,并將處理方法進行梳理,以方便為數(shù)據(jù)庫運維人員在處理此類問題時提供一些思路及方法。

1 SQL Server 數(shù)據(jù)庫鎖管理機制

1.1 鎖模式

在SQL Server數(shù)據(jù)庫中針對不同的資源,存在不同的加鎖方式,即鎖存在多種模式[3],具體包括共享鎖、更新鎖、排它鎖、結(jié)構(gòu)鎖、意向鎖、批量修改鎖,詳細用途如表1所示。

1.2 鎖粒度

根據(jù)SQL Server數(shù)據(jù)庫中用戶可以操作的數(shù)據(jù)行、索引以及數(shù)據(jù)表的不同,鎖有多粒度的概念,即可以鎖定資源的層次[4],資源粒度包括:數(shù)據(jù)庫、表、區(qū)域、頁面、鍵值、行標識符。多粒度鎖用于保證數(shù)據(jù)的完整性和支持并發(fā)操作,收到用戶SQL請求,自動分析并在數(shù)據(jù)庫中加上相應(yīng)的鎖[5]。

1.3 死鎖概述

SQL Server數(shù)據(jù)庫系統(tǒng)中,當多個事務(wù)分別鎖定了某種資源時,又發(fā)出請求試圖鎖定其他事務(wù)已占用的資源,每個事務(wù)都在等待另一個事務(wù)釋放鎖,結(jié)果造成任務(wù)一個事務(wù)都無法繼續(xù)執(zhí)行,從而形成了請求鎖的循環(huán),產(chǎn)生死鎖,即產(chǎn)生永久阻塞的特殊場景[6]。圖1為兩個事務(wù)產(chǎn)生死鎖的例子。

此時我們有兩個線程,分別是線程A和線程B,假設(shè)線程A現(xiàn)在持有了鎖A,線程B持有了鎖B,然后線程A嘗試去獲取鎖B,當然它獲取不到,因為線程B還沒有釋放鎖B。然后線程B又來嘗試獲取鎖A,同樣線程B也獲取不到鎖A,因為鎖A已經(jīng)被線程A持有了。這樣一來,線程A和線程B就發(fā)生了死鎖,因為它們都相互持有對方想要的資源,卻又不釋放自己手中的資源,形成相互等待,而且會一直等待下去[7]。

2 問題描述與分析

某三甲醫(yī)院于上午九時左右多個臨床科室報應(yīng)用程序故障,HIS系統(tǒng)使用非常卡慢,部分科室甚至出現(xiàn)無法進行任何操作的情況,此時正值臨床業(yè)務(wù)繁忙時段。接臨床科室故障報修后,運維工程師根據(jù)故障信息的描述以及故障影響的范圍,迅速就反饋的問題分析有可能造成此類問題的原因:

2.1 服務(wù)器集群出現(xiàn)故障

服務(wù)器集群即多個服務(wù)器一起工作,可以減少單點故障的數(shù)量[8]。可能會出現(xiàn)主機不能加電,自檢報錯、自檢過程中所顯示的配置與實際不符等多種故障。

2.2 內(nèi)部網(wǎng)絡(luò)出現(xiàn)故障

內(nèi)部網(wǎng)絡(luò)即醫(yī)院內(nèi)部的專用網(wǎng)絡(luò),以Web為核心應(yīng)用,構(gòu)成統(tǒng)一便利的信息交互平臺[9]。可能會出現(xiàn)整個局域網(wǎng)都不能上因特網(wǎng)、網(wǎng)絡(luò)適配器與計算機資源沖突和網(wǎng)速過慢等故障。

2.3 客戶端/服務(wù)端資源空間不足

隨著業(yè)務(wù)流量的劇增,客戶端/服務(wù)端可能運行程序過多、應(yīng)用程序沒有及時釋放內(nèi)存、受到網(wǎng)絡(luò)攻擊等問題,導致服務(wù)器資源被大量占用,出現(xiàn)空間不足的情況。

2.4 SQL Server 數(shù)據(jù)庫服務(wù)運行異常

常見的SQL Server數(shù)據(jù)庫服務(wù)運行異常包括數(shù)據(jù)庫服務(wù)未啟動或直接報數(shù)據(jù)庫服務(wù)異常,一般原因為數(shù)據(jù)庫程序損壞或是軟件安裝的數(shù)據(jù)庫服務(wù)未啟動[10]。

2.5 SQL Server 數(shù)據(jù)庫出現(xiàn)死鎖情況

因爭奪資源而造成一種互相等待的情況即死鎖,可能會出現(xiàn)事務(wù)之間對資源訪問順序的交替、并發(fā)修改同一記錄和索引不當導致死鎖的情況。

3 問題處理

在本節(jié)中,我們將之前分析的故障情況具體去操作驗證,以便排查出故障的根本原因并予以處理。

3.1 查看服務(wù)器集群運行狀態(tài)

服務(wù)器集群管理的目的就是提高服務(wù)器性能,同時在出現(xiàn)故障時能及時進行故障轉(zhuǎn)移,提高服務(wù)器的可用性,保障應(yīng)用業(yè)務(wù)的穩(wěn)定性。登錄服務(wù)器集群管理平臺,查看服務(wù)器運行狀態(tài)是否正常,查看服務(wù)器日志有無異常記錄。

3.2 檢查內(nèi)部網(wǎng)絡(luò)運行情況

根據(jù)醫(yī)院內(nèi)網(wǎng)網(wǎng)絡(luò)拓撲圖,依次檢查網(wǎng)絡(luò)核心層、匯聚層及接入層的交換機運行狀態(tài)是否正常,查看日志記錄是否正常。特別是對于故障報修的臨床科室,檢查此區(qū)域內(nèi)局部網(wǎng)絡(luò)是否暢通,終端設(shè)備是否能夠正常連接。

3.3 檢查客戶端/服務(wù)端資源空間

檢查客戶端終端設(shè)備資源空間使用情況,排查是否出現(xiàn)磁盤空間不足或內(nèi)存被惡意侵占等情況;打開數(shù)據(jù)庫服務(wù)器,檢查服務(wù)器資源空間使用情況是否正常,如果資源不足,可通過適當擴容來解決問題。

3.4 檢查SQL Server 數(shù)據(jù)庫服務(wù)運行

打開SQL Server配置管理器,檢查SQL Server服務(wù)狀態(tài)是否運行正常。如果運行異常或未運行,可嘗試重啟下服務(wù),并查看下服務(wù)日志,進一步排查原因,確保SQL Server數(shù)據(jù)庫服務(wù)運行正常。

3.5 查看SQL Server 數(shù)據(jù)庫應(yīng)用情況

打開SQL Server數(shù)據(jù)庫管理工具,通過使用sys.dm_tran_locks動態(tài)管理視圖查看活動鎖的信息,也可以使用sp_lock存儲過程來查看,當發(fā)現(xiàn)死鎖后,應(yīng)排查引起死鎖的原因和影響的范圍,可選擇使用KILL命令結(jié)束產(chǎn)生死鎖的進程ID,釋放資源,確保數(shù)據(jù)庫的運行正常。圖2為作者在數(shù)據(jù)庫運維過程中創(chuàng)建的查看數(shù)據(jù)庫死鎖的存儲過程,它能夠非常便捷直觀地顯示死鎖的詳細信息,可供參考。

通過上述問題分析和問題排查,引起此次HIS系統(tǒng)卡慢的情況是由于新上線的一個小模塊中某個視圖產(chǎn)生大量的查詢語句,剛好與醫(yī)院業(yè)務(wù)數(shù)據(jù)操作繁忙時段相沖突,因此引起數(shù)據(jù)庫死鎖現(xiàn)象,造成應(yīng)用程序卡慢,系統(tǒng)無法操作等故障。最后,通過清理死鎖,釋放資源,同時優(yōu)化視圖,使得數(shù)據(jù)庫運行正常,HIS系統(tǒng)恢復正常。

4 預防和避免死鎖及優(yōu)化效果

4.1 預防和避免死鎖

鎖在數(shù)據(jù)庫中是一個非常重要的概念,它可以防止事務(wù)的并發(fā)問題,在多個事務(wù)訪問下能夠保證數(shù)據(jù)庫的完整性和一致性。本案例中,造成HIS系統(tǒng)卡慢的根本原因就是數(shù)據(jù)庫死鎖,那么在日常使用中該如何預防和避免死鎖呢?

數(shù)據(jù)庫設(shè)計的優(yōu)劣直接影響到系統(tǒng)的運行效率,為了避免死鎖我們遵循以下原則,首先是通過增加數(shù)據(jù)冗余和數(shù)據(jù)劃分兩種途徑非規(guī)范化設(shè)計數(shù)據(jù)庫;其次在頻繁更新的列上、搜索參數(shù)上建立合適的索引;最后對頻繁訪問的表,應(yīng)適當減少頁分裂次數(shù)[11]。

同時可以依據(jù)數(shù)據(jù)庫關(guān)于鎖的機制、鎖模式以及鎖的粒度管理來有效的預防和避免死鎖的產(chǎn)生[12]。通過適時地對數(shù)據(jù)庫表結(jié)構(gòu)、索引建立等進行調(diào)優(yōu),提高數(shù)據(jù)庫的使用性能;優(yōu)化存儲過程、視圖等SQL語句,避免頻繁地在其內(nèi)進行增刪改查操作,占用過多的資源;較大數(shù)據(jù)量的查詢避開臨床業(yè)務(wù)使用的高峰期,降低資源搶占的現(xiàn)象;合理地對數(shù)據(jù)庫服務(wù)器進行資源的調(diào)整,加大數(shù)據(jù)庫服務(wù)器的容量提升性能等都能夠有效的預防和避免數(shù)據(jù)庫死鎖的產(chǎn)生。

4.2 優(yōu)化效果

經(jīng)過對SQL Server數(shù)據(jù)庫的上述優(yōu)化處理,清理了系統(tǒng)中大量的垃圾,合理地規(guī)劃了數(shù)據(jù)庫,極大地提升了處理速度。經(jīng)過系統(tǒng)真實的醫(yī)療數(shù)據(jù)運轉(zhuǎn)環(huán)境下的業(yè)務(wù)測試,及時地預防了死鎖的發(fā)生;重視數(shù)據(jù)的分布和流動性,數(shù)據(jù)量的增大及數(shù)據(jù)模型的改變均不會影響到系統(tǒng)的響應(yīng)速度。

5 結(jié)束語

數(shù)據(jù)庫的死鎖問題是數(shù)據(jù)庫日常維護工作中的常見問題,我們應(yīng)當充分認識和了解數(shù)據(jù)庫中關(guān)于鎖的相關(guān)機制,如鎖模式、鎖粒度及死鎖,并盡量做到預防和避免死鎖的產(chǎn)生,這樣既能保證數(shù)據(jù)庫系統(tǒng)安全穩(wěn)定地運行,又能為實際應(yīng)用工作者節(jié)約寶貴的時間,避免了日常軟件運行過程中出現(xiàn)停頓鎖表的現(xiàn)象,同時還能提高運維人員的工作效率,從而為患者提供流暢、高效、便捷的醫(yī)療服務(wù)。

主站蜘蛛池模板: 2019国产在线| 国产va免费精品| 免费人成视网站在线不卡| 亚洲女人在线| 中文字幕不卡免费高清视频| 91成人在线免费观看| 黄色网址手机国内免费在线观看| 国产成人一区在线播放| 亚洲成人一区二区三区| 青青热久麻豆精品视频在线观看| 超清无码一区二区三区| 国产AV毛片| 久久无码av三级| 国产一级妓女av网站| 18禁色诱爆乳网站| 亚洲日本一本dvd高清| 国产麻豆精品久久一二三| 亚洲欧美成人综合| 国产精品网址你懂的| 日本国产精品| 都市激情亚洲综合久久| 国产综合日韩另类一区二区| 久久久精品国产SM调教网站| 色噜噜狠狠狠综合曰曰曰| 日韩经典精品无码一区二区| 国产性爱网站| 国产AV无码专区亚洲精品网站| 国产成人a毛片在线| 中文成人在线视频| 久久精品人人做人人综合试看| AV在线天堂进入| 免费国产小视频在线观看| 久久人搡人人玩人妻精品 | 亚洲男人的天堂在线| 54pao国产成人免费视频| 18禁不卡免费网站| 欧美日韩成人在线观看| 午夜视频免费一区二区在线看| 久久国产精品国产自线拍| 一区二区欧美日韩高清免费| 亚洲欧洲免费视频| AV老司机AV天堂| 91人人妻人人做人人爽男同| 91精品国产丝袜| 亚洲久悠悠色悠在线播放| 欧洲成人在线观看| 超清无码一区二区三区| 美女潮喷出白浆在线观看视频| 亚洲成A人V欧美综合| 天堂成人在线| 人妻少妇久久久久久97人妻| A级毛片高清免费视频就| 国产成人1024精品下载| 亚洲人成网线在线播放va| аⅴ资源中文在线天堂| 精品少妇人妻一区二区| 91亚洲精选| 久久久久夜色精品波多野结衣| 日本亚洲欧美在线| 在线观看国产黄色| 国产日韩欧美中文| 在线看免费无码av天堂的| 久久亚洲国产最新网站| 97人人模人人爽人人喊小说| 久久精品无码国产一区二区三区| 欧美一区二区啪啪| 久久96热在精品国产高清| 青青草一区二区免费精品| 中国一级特黄大片在线观看| 在线国产91| 国产毛片基地| 亚洲国产日韩视频观看| 国产资源免费观看| 欧美日韩免费| 激情成人综合网| 99热这里只有精品2| 亚洲日本韩在线观看| 四虎成人精品在永久免费| 久久伊人久久亚洲综合| 丰满少妇αⅴ无码区| 欧美激情第一区| 极品国产在线|