日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

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

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

網(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

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久久久久精 | 8x成人在线电影 | 久久精品中文字幕 | 日韩在线观看精品 | 亚洲成人一区在线观看 | 91福利网站 | 国产成人综合久久 | 2021毛片| 欧美精品1区2区3区 日本特黄a级高清免费大片 | 五月av| 在线免费看黄网站 | 日韩av在线一区二区三区 | 久久精品小视频 | 久久久久久国产精品 | 日韩成人免费电影 | 天天干夜夜爽 | 日本亚洲最大的色成网站www | 日韩av福利 | 久久精品视频网站 | 中文字幕专区高清在线观看 | 国产日本一区二区 | 欧美激情网址 | 精品久久1 | 久久国产系列 | 三级成人av| 日本中文字幕在线播放 | 亚洲 日本 欧美 日韩精品 | 国产精品国产三级国产 | 秋霞电影天堂 | 久久久蜜臀 | 欧美一区二 | 国产在线看| 精品久久网 | 91麻豆国产| 国产精品中文字幕在线 | 日韩成人在线观看 | 能看的av| 国产在视频一区二区三区吞精 | 日本大胆欧美 | 亚洲在线一区二区三区 | 99精品国产高清一区二区麻豆 |