濮阳杆衣贸易有限公司

主頁 > 知識庫 > sqlserver2008鎖表語句詳解(鎖定數(shù)據(jù)庫一個表)

sqlserver2008鎖表語句詳解(鎖定數(shù)據(jù)庫一個表)

熱門標(biāo)簽:濟(jì)南電銷外呼防封卡怎么樣 南京外呼系統(tǒng)租用 高德地圖標(biāo)注生成 智能語音外呼系統(tǒng)打電話 電銷外呼系統(tǒng)違規(guī) 寧夏外呼系統(tǒng)方案 怎樣在地圖標(biāo)注自己的信息 400電話辦理2273649Z空間 400電話怎么申請收費(fèi)標(biāo)準(zhǔn)

鎖定數(shù)據(jù)庫的一個表

復(fù)制代碼 代碼如下:

SELECT * FROM table WITH (HOLDLOCK)

注意: 鎖定數(shù)據(jù)庫的一個表的區(qū)別
復(fù)制代碼 代碼如下:

SELECT * FROM table WITH (HOLDLOCK)


其他事務(wù)可以讀取表,但不能更新刪除
復(fù)制代碼 代碼如下:

SELECT * FROM table WITH (TABLOCKX)


其他事務(wù)不能讀取表,更新和刪除

SELECT 語句中“加鎖選項”的功能說明

SQL Server提供了強(qiáng)大而完備的鎖機(jī)制來幫助實現(xiàn)數(shù)據(jù)庫系統(tǒng)的并發(fā)性和高性能。用戶既能使用SQL Server的缺省設(shè)置也可以在select 語句中使用“加鎖選項”來實現(xiàn)預(yù)期的效果。 本文介紹了SELECT語句中的各項“加鎖選項”以及相應(yīng)的功能說明。

功能說明: 

NOLOCK(不加鎖)

此選項被選中時,SQL Server 在讀取或修改數(shù)據(jù)時不加任何鎖。 在這種情況下,用戶有可能讀取到未完成事務(wù)(Uncommited Transaction)或回滾(Roll Back)中的數(shù)據(jù), 即所謂的“臟數(shù)據(jù)”。

HOLDLOCK(保持鎖)

此選項被選中時,SQL Server 會將此共享鎖保持至整個事務(wù)結(jié)束,而不會在途中釋放。

UPDLOCK(修改鎖)

此選項被選中時,SQL Server 在讀取數(shù)據(jù)時使用修改鎖來代替共享鎖,并將此鎖保持至整個事務(wù)或命令結(jié)束。使用此選項能夠保證多個進(jìn)程能同時讀取數(shù)據(jù)但只有該進(jìn)程能修改數(shù)據(jù)。

TABLOCK(表鎖)

此選項被選中時,SQL Server 將在整個表上置共享鎖直至該命令結(jié)束。 這個選項保證其他進(jìn)程只能讀取而不能修改數(shù)據(jù)。

PAGLOCK(頁鎖)

此選項為默認(rèn)選項, 當(dāng)被選中時,SQL Server 使用共享頁鎖。

TABLOCKX(排它表鎖)

此選項被選中時,SQL Server 將在整個表上置排它鎖直至該命令或事務(wù)結(jié)束。這將防止其他進(jìn)程讀取或修改表中的數(shù)據(jù)。

HOLDLOCK 持有共享鎖,直到整個事務(wù)完成,應(yīng)該在被鎖對象不需要時立即釋放,等于SERIALIZABLE事務(wù)隔離級別

NOLOCK 語句執(zhí)行時不發(fā)出共享鎖,允許臟讀 ,等于 READ UNCOMMITTED事務(wù)隔離級別

PAGLOCK 在使用一個表鎖的地方用多個頁鎖

READPAST 讓sql server跳過任何鎖定行,執(zhí)行事務(wù),適用于READ UNCOMMITTED事務(wù)隔離級別只跳過RID鎖,不跳過頁,區(qū)域和表鎖

ROWLOCK 強(qiáng)制使用行鎖

TABLOCKX 強(qiáng)制使用獨(dú)占表級鎖,這個鎖在事務(wù)期間阻止任何其他事務(wù)使用這個表

UPLOCK 強(qiáng)制在讀表時使用更新而不用共享鎖

注意: 鎖定數(shù)據(jù)庫的一個表的區(qū)別

復(fù)制代碼 代碼如下:

SELECT * FROM table WITH (HOLDLOCK) 其他事務(wù)可以讀取表,但不能更新刪除

SELECT * FROM table WITH (TABLOCKX) 其他事務(wù)不能讀取表,更新和刪除

您可能感興趣的文章:
  • SQL Server觸發(fā)器及觸發(fā)器中的事務(wù)學(xué)習(xí)
  • Sqlserver 存儲過程中結(jié)合事務(wù)的代碼
  • SQLSERVER分布式事務(wù)使用實例
  • 利用sys.sysprocesses檢查SqlServer的阻塞和死鎖
  • sql server 2000阻塞和死鎖問題的查看與解決方法
  • SqlServer表死鎖的解決方法分享
  • 查找sqlserver查詢死鎖源頭的方法 sqlserver死鎖監(jiān)控
  • SqlServer查詢和Kill進(jìn)程死鎖的語句
  • sqlserver進(jìn)程死鎖關(guān)閉的方法
  • SQL Server學(xué)習(xí)筆記之事務(wù)、鎖定、阻塞、死鎖用法詳解

標(biāo)簽:貴港 平頂山 惠州 茂名 唐山 潛江 仙桃 長白山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sqlserver2008鎖表語句詳解(鎖定數(shù)據(jù)庫一個表)》,本文關(guān)鍵詞  sqlserver2008,鎖表,語句,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《sqlserver2008鎖表語句詳解(鎖定數(shù)據(jù)庫一個表)》相關(guān)的同類信息!
  • 本頁收集關(guān)于sqlserver2008鎖表語句詳解(鎖定數(shù)據(jù)庫一個表)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    临夏县| 武定县| 盐津县| 桐城市| 滕州市| 长岭县| 博湖县| 忻州市| 广西| 驻马店市| 本溪市| 永安市| 泗水县| 北宁市| 镇巴县| 沙洋县| 稻城县| 荃湾区| 敦化市| 荔浦县| 图片| 旬阳县| 玉溪市| 元江| 扎囊县| 美姑县| 浦江县| 如东县| 宣化县| 天峻县| 旺苍县| 湛江市| 秦皇岛市| 汶川县| 平阳县| 准格尔旗| 宾川县| 安阳市| 河源市| 阿克陶县| 无锡市|