成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQLServer的一次堵塞分析

數(shù)據(jù)庫(kù) SQL Server
SQLServer數(shù)據(jù)庫(kù)操作過(guò)程中經(jīng)常會(huì)遇到一些問(wèn)題,有時(shí)SQLServer數(shù)據(jù)庫(kù)操作中會(huì)出現(xiàn)數(shù)據(jù)庫(kù)的堵塞問(wèn)題,數(shù)據(jù)庫(kù)堵塞就會(huì)給SQLServer數(shù)據(jù)庫(kù)的操作帶來(lái)很大的麻煩,針對(duì)這個(gè)問(wèn)題,我們就需要解決之。

SQLServer的一次堵塞分析

今天工作人員突然報(bào)告說(shuō)某個(gè)界面無(wú)法正常打開了,***個(gè)想到的便是SQLServer又發(fā)生堵塞了。在SQLServer中,做了一個(gè)5分鐘運(yùn)行一次的定時(shí)任務(wù),定期掃描堵塞情況;不過(guò)五分鐘有些太久了。就運(yùn)行了一下查詢堵塞的腳本,看看目前系統(tǒng)里正在發(fā)生的堵塞情況。
SELECT
blocked_query.session_id AS blocked_session_id,
blocking_query.session_id AS blocking_session_id,
blocking_sql_text.text AS blocking_sql_text,
blocked_sql_text.text AS blocked_sql_text,
waits.wait_type AS blocking_resource,
blocked_query.command AS blocked_command,
blocking_query.command AS blocking_command,
blocked_query.wait_type AS blocked_wait_type,
blocked_query.wait_time AS blocked_wait_time,
blocking_query.total_elapsed_time AS blocking_elapsed_time,
GETDATE()
FROM sys.dm_exec_requests blocked_query
JOIN sys.dm_exec_requests blocking_query ON
blocked_query.blocking_session_id = blocking_query.session_id
CROSS APPLY
(
SELECT *
FROM sys.dm_exec_sql_text(blocking_query.sql_handle)
) blocking_sql_text
CROSS APPLY
(
SELECT *
FROM sys.dm_exec_sql_text(blocked_query.sql_handle)
) blocked_sql_text
JOIN sys.dm_os_waiting_tasks waits ON
waits.session_id = blocking_query.session_id

查詢結(jié)果很簡(jiǎn)單,
被堵塞的是一個(gè)select語(yǔ)句,堵塞的是一個(gè)觸發(fā)器;兩者操作的是同一個(gè)表,blocking_resource為L(zhǎng)CK_M_S,很明顯是一個(gè)讀寫的相互堵塞。
分析步驟理應(yīng)優(yōu)先從堵塞進(jìn)程開始分析,然后再分析select語(yǔ)句
觸發(fā)器的業(yè)務(wù)邏輯比較復(fù)雜,大概有600多行,其中有一二十個(gè)select、update語(yǔ)句
只能按順序一個(gè)個(gè)來(lái)分析相關(guān)的select和update語(yǔ)句了,看看哪條sql可能出了問(wèn)題
主要是看SQL的where條件是否滿足索引和高選擇性要求,很快便定位到一條sql語(yǔ)句
SELECT *** @var1=field1 FROM tablename WHERE field2=@var2 AND field1 IS NOT NULL AND primarykey<>@primarykey
該表將近10萬(wàn)條記錄,而執(zhí)行該查詢,等待了1分鐘卻看不到執(zhí)行結(jié)果。理論上是不應(yīng)該的,先標(biāo)記下來(lái)吧,繼續(xù)往下跟蹤。
很快又發(fā)現(xiàn)一條帶數(shù)據(jù)庫(kù)鏈接的查詢
SELECT *** primarykey FROM DBLINK.DBNAME.USERNAME.tablename WHERE COND1
先試著運(yùn)行一下吧,該SQL也是半天沒有響應(yīng)。
問(wèn)題應(yīng)該出現(xiàn)在這兩個(gè)地方,需要再了解一下相應(yīng)的業(yè)務(wù)邏輯再進(jìn)行SQL優(yōu)化,當(dāng)務(wù)之急是先把該session殺掉
運(yùn)行kill sessionid后,卻還是無(wú)法打開程序界面,繼續(xù)運(yùn)行查詢堵塞腳本,發(fā)現(xiàn)blocking_command變成了KILLED/ROLLBACK,也就是說(shuō)一直處于rollback狀態(tài),沒有殺成功,很奇怪。而且整個(gè)數(shù)據(jù)庫(kù)似乎已經(jīng)全部癱瘓了,所有應(yīng)用程序均無(wú)法執(zhí)行。
于是系統(tǒng)工程師就把數(shù)據(jù)庫(kù)重啟了一下,又重新打開該程序界面進(jìn)行數(shù)據(jù)處理,結(jié)果很快又出現(xiàn)之前的癥狀。
后來(lái)想是不是DBLINK出現(xiàn)了問(wèn)題,繼續(xù)運(yùn)行基于該DBLINK的查詢?cè)囈幌拢l(fā)現(xiàn)基本上全部無(wú)法執(zhí)行;還是先檢查一下網(wǎng)絡(luò)吧
系統(tǒng)工程師登陸到服務(wù)器上查看windows的日志,果然發(fā)現(xiàn)了很多網(wǎng)絡(luò)故障,緊急處理一下網(wǎng)絡(luò)。
再次運(yùn)行查詢堵塞腳本,發(fā)現(xiàn)堵塞已經(jīng)自動(dòng)消除,而那條看似很慢的SQL也很快運(yùn)行出結(jié)果了。

至此堵塞問(wèn)題已解決。
鑒于SQLServer的鎖的隔離機(jī)制被設(shè)置為READ_COMMITTED_SNAPSHOT,讀和寫會(huì)導(dǎo)致沖突,問(wèn)題的根源也就不難理解了,但造成問(wèn)題的最終原因卻可能是多方面的。

這就是我要為大家介紹的關(guān)于SQLServer數(shù)據(jù)庫(kù)操作過(guò)程中堵塞問(wèn)題的解決方案,更多更好的方法還需要大家在以后的工作中善于總結(jié),希望上文中講到的內(nèi)容對(duì)大家能夠有所幫助。

【編輯推薦】

  1. SQLSERVER查詢連接數(shù)的三種方法
  2. SQLServer級(jí)聯(lián)刪除的實(shí)現(xiàn)
  3. 深入了解Sqlserver運(yùn)行參數(shù)
  4. sqlserver分發(fā)服務(wù)器的設(shè)置
責(zé)任編輯:迎迎 來(lái)源: CSDN
相關(guān)推薦

2010-07-30 16:10:45

UPS設(shè)備燒毀故障分析

2011-06-28 10:41:50

DBA

2014-08-01 14:06:45

2021-03-18 23:47:18

MySQLselect索引

2019-03-20 09:44:09

威脅情報(bào)病毒網(wǎng)絡(luò)安全

2021-12-27 10:08:16

Python編程語(yǔ)言庫(kù)

2020-10-24 13:50:59

Python庫(kù)編程語(yǔ)言

2021-01-08 13:52:15

Consul微服務(wù)服務(wù)注冊(cè)中心

2020-04-08 10:30:19

Linux 攻擊 安全

2013-09-13 09:27:42

服務(wù)器LinuxApache

2021-12-12 18:12:13

Hbase線上問(wèn)題

2014-08-29 09:09:33

2019-03-19 14:52:00

性能優(yōu)化MySQL數(shù)據(jù)庫(kù)

2011-08-08 13:31:44

數(shù)據(jù)分析數(shù)據(jù)倉(cāng)庫(kù)

2020-04-17 10:53:38

釣魚郵件網(wǎng)絡(luò)攻擊冠狀病毒

2020-11-23 07:13:13

Nodejs源碼

2012-08-28 09:21:59

Ajax查錯(cuò)經(jīng)歷Web

2021-11-01 17:29:02

Windows系統(tǒng)Fork

2023-06-26 00:12:46

2014-11-12 11:17:32

網(wǎng)站遷移運(yùn)維
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 在线一区二区国产 | 中文字幕一区在线观看视频 | 亚洲成人黄色 | 亚洲精品二区 | 国产高清视频 | 国产成人精品一区二区 | 国产1区| 亚洲一区视频在线 | 午夜视频一区二区 | 亚洲五码久久 | 91xxx在线观看| 中文字幕一区二区三区四区不卡 | 午夜精品一区二区三区在线 | 天堂av资源 | 久久99精品久久久久 | 中文字幕第十一页 | 欧美激情一区 | 911精品国产 | 91国在线| 欧美日韩中文在线观看 | 日韩精品国产精品 | 亚洲一二视频 | 久久婷婷av| 在线视频一区二区 | 国产精品日韩在线 | 免费在线一区二区 | 麻豆精品国产91久久久久久 | www国产成人免费观看视频,深夜成人网 | 亚洲精品成人免费 | 91精品国产综合久久久久久丝袜 | 91精品久久久久久久久中文字幕 | 精品毛片| 91精品久久久久久久久 | 成人久久久 | 亚洲一区二区在线视频 | 久久性色| 中文字幕一区二区三区在线乱码 | 日韩一 | 日韩欧美在线视频播放 | av不卡一区 | 香蕉久久久|