多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > Sqlserver > SQL Server死鎖問題分析及解決方法

SQL Server死鎖問題分析及解決方法

來源:程序員人生   發布時間:2014-02-26 04:06:07 閱讀次數:2808次

網(LieHuo.Net)教程 死鎖,簡而言之,兩個或者多個trans,同時請求對方正在請求的某個對象,導致雙方互相等待。簡單的例子如下:
trans1 trans2
------------------------------------------------------------------------
1.IDBConnection.BeginTransaction 1.IDBConnection.BeginTransaction
2.update table A 2.update table B
3.update table B 3.update table A
4.IDBConnection.Commit 4.IDBConnection.Commit
那么,很容易看到,如果trans1和trans2,分別到達了step3,那么trans1會請求對于B的X鎖,trans2會請求對于A的X鎖,而二者的鎖在step2上已經被對方分別持有了。由于得不到鎖,后面的Commit無法執行,這樣雙方開始死鎖。

好,我們看一個簡單的例子,來解釋一下,應該如何解決死鎖問題。
-- Batch #1
CREATE DATABASE deadlocktest
GO
USE deadlocktest
SET NOCOUNT ON
DBCC TRACEON (1222, -1)
-- 在SQL2005中,增加了一個新的dbcc參數,就是1222,原來在2000下,我們知道,可以執行dbcc
--traceon(1204,3605,-1)看到所有的死鎖信息。SqlServer 2005中,對于1204進行了增強,這就是1222。
GO

IF OBJECT_ID ('t1') IS NOT NULL DROP TABLE t1
IF OBJECT_ID ('p1') IS NOT NULL DROP PROC p1
IF OBJECT_ID ('p2') IS NOT NULL DROP PROC p2
GO

CREATE TABLE t1 (c1 int, c2 int, c3 int, c4 char(5000))
GO

DECLARE @x int
SET @x = 1
WHILE (@x <= 1000) BEGIN
INSERT INTO t1 VALUES (@x*2, @x*2, @x*2, @x*2)
SET @x = @x + 1
END
GO

CREATE CLUSTERED INDEX cidx ON t1 (c1)
CREATE NONCLUSTERED INDEX idx1 ON t1 (c2)
GO

CREATE PROC p1 @p1 int AS SELECT c2, c3 FROM t1 WHERE c2 BETWEEN @p1 AND @p1+1
GO

CREATE PROC p2 @p1 int AS
UPDATE t1 SET c2 = c2+1 WHERE c1 = @p1
UPDATE t1 SET c2 = c2-1 WHERE c1 = @p1
GO

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 免费国产高清精品一区在线 | 一区福利视频 | 日本欧美一区二区三区视频 | 精品国产欧美另类一区 | 日本欧美一区二区三区乱码 | 美女毛片免费 | 国产精品福利网站 | 国产h视频在线观看 | 国产一区二区三区成人久久片 | 精品久久伊人 | 欧美一区二区三区四区五区六区 | 欧美午夜毛片a级在线 | 激情欧美一区二区三区 | 叼嘿视频在线免费观看 | 在线观看免费 | 国产jizz18高清视频 | 日本欧美久久久久免费播放网 | 性生生活三级视频在线观看 | 视频一区二区免费 | 欧美成人精品高清在线播放 | 国产免费高清福利拍拍拍 | 国产午夜a理论毛片在线影院 | aⅴ免费在线观看 | 女人18一级毛片免费观看 | 欧美影院一区二区三区 | 在线观看亚洲免费视频 | 欧美 日韩 国产在线 | 18以下勿进色禁视频免费看 | 日本大蕉香蕉大视频在线观看 | 欧美一区二区三区免费高 | 亚洲欧美专区精品久久 | 日韩精品综合 | 99视频精品全部免费免费观 | 国产精品久久一区二区三区 | 福利午夜影院 | 天堂tv亚洲tv日本tv不卡 | 欧美一区二区另类有声小说 | free性欧洲69| 国产成人精品无缓存在线播放 | 亚洲国产日韩综合久久精品 | 中文字幕乱码视频 |