国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

深入探討如何解決數據庫中的死鎖問題

2024-07-21 02:42:29
字體:
來源:轉載
供稿:網友

說道死鎖問題的解決,一般情況下我們都是選擇KILL進程,但如果不查出引起死鎖的原因,死鎖的現象則會頻繁出現,其實只要通過查找引起死鎖的操作,就可以方便的解決死鎖。

具體的解決方法如下:

1.再死鎖發生時,我們可以通過下面的語法,查詢到引起死鎖的操作:

use master

go

declare @spid int,@bl int

DECLARE s_cur CURSOR FOR

select 0 ,blocked

from (select * from sysPRocesses where blocked>0 ) a

where not exists(select * from (select * from sysprocesses where blocked>0 ) b

where a.blocked=spid)

union select spid,blocked from sysprocesses where blocked>0

OPEN s_cur

FETCH NEXT FROM s_cur INTO @spid,@bl

WHILE @@FETCH_STATUS = 0

begin

if @spid =0

select '引起數據庫死鎖的是: '+ CAST(@bl AS VARCHAR(10)) + '進程號,其執行的SQL語法如下'

else

select '進程號SPID:'+ CAST(@spid AS VARCHAR(10))+ '被' + '進程號SPID:'+ CAST(@bl AS VARCHAR(10)) +'阻塞,其當前進程執行的SQL語法如下'

DBCC INPUTBUFFER (@bl )

FETCH NEXT FROM s_cur INTO @spid,@bl

end

CLOSE s_cur

DEALLOCATE s_cur

exec sp_who2

2.然后查找程序/數據庫,此t_sql語法具體在什么地方使用。

3.分析已經找到的,解決問題。

EG:

/*

-------------------------------------------------------

引起數據庫死鎖的是: 71進程號,其執行的SQL語法如下

EventType Parameters EventInfo

-------------- ---------- ------------------------------

Language Event 0

select * from test

insert test values(1,2)

(所影響的行數為 1 行)

DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。

------------------------------------------------------------

進程號SPID:64被進程號SPID:71阻塞,其當前進程執行的SQL語法如下

EventType Parameters EventInfo

-------------- ---------- ---------------------------------

Language Event 0

select * from test

insert test values(1,2)

(所影響的行數為 1 行)

DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。

-------------------------------------------------------------

進程號SPID:65被進程號SPID:64阻塞,其當前進程執行的SQL語法如下

EventType Parameters EventInfo

-------------- ---------- -------------------------------------

Language Event 0 begin tran

select * from test with (holdlock)

waitfor time '12:00'

select * from test

commit

(所影響的行數為 1 行)

DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。

-------------------------------------------------------

進程號SPID:73被進程號SPID:64阻塞,其當前進程執行的SQL語法如下

EventType Parameters EventInfo

-------------- ---------- ------------------------------

Language Event 0 begin tran

select * from test with (holdlock)

waitfor time '12:00'

select * from test

commit

(所影響的行數為 1 行)

DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。

*/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清镇市| 余干县| 芷江| 罗山县| 体育| 绥阳县| 韶山市| 桓仁| 伽师县| 故城县| 宁河县| 岗巴县| 阜南县| 巨鹿县| 灵璧县| 神农架林区| 丽江市| 镇原县| 靖远县| 青川县| 梅河口市| 万州区| 高邑县| 奉化市| 绥芬河市| 龙泉市| 西安市| 张北县| 中卫市| 襄垣县| 崇仁县| 平凉市| 万载县| 兰州市| 平远县| 潼关县| 香港| 友谊县| 永昌县| 清河县| 鹤峰县|