(1)

成都創(chuàng)新互聯(lián)公司專注于南皮網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供南皮營銷型網(wǎng)站建設(shè),南皮網(wǎng)站制作、南皮網(wǎng)頁設(shè)計、南皮網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造南皮網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供南皮網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
HOLDLOCK:
在該表上保持共享鎖,直到整個事務(wù)結(jié)束,而不是在語句執(zhí)行完立即釋放所添加的鎖。
(2)
NOLOCK:不添加共享鎖和排它鎖,當這個選項生效后,可能讀到未提交讀的數(shù)據(jù)或“臟數(shù)據(jù)”,這個選項僅僅應(yīng)用于SELECT語句。
(3)
PAGLOCK:指定添加頁鎖(否則通常可能添加表鎖)。
(4)
READCOMMITTED用與運行在提交讀隔離級別的事務(wù)相同的鎖語義執(zhí)行掃描。默認情況下,SQL
Server
2000
在此隔離級別上操作。
(5)
READPAST:
跳過已經(jīng)加鎖的數(shù)據(jù)行,這個選項將使事務(wù)讀取數(shù)據(jù)時跳過那些已經(jīng)被其他事務(wù)鎖定的數(shù)據(jù)行,而不是阻塞直到其他事務(wù)釋放鎖,
READPAST僅僅應(yīng)用于READ
COMMITTED隔離性級別下事務(wù)操作中的SELECT語句操作。
(6)
READUNCOMMITTED:等同于NOLOCK。
(7)
REPEATABLEREAD:設(shè)置事務(wù)為可重復(fù)讀隔離性級別。
(8)
ROWLOCK:使用行級鎖,而不使用粒度更粗的頁級鎖和表級鎖。
(9)
SERIALIZABLE:用與運行在可串行讀隔離級別的事務(wù)相同的鎖語義執(zhí)行掃描。等同于
HOLDLOCK。
(10)
TABLOCK:指定使用表級鎖,而不是使用行級或頁面級的鎖,SQL
Server在該語句執(zhí)行完后釋放這個鎖,而如果同時指定了HOLDLOCK,該鎖一直保持到這個事務(wù)結(jié)束。
(11)
TABLOCKX:指定在表上使用排它鎖,這個鎖可以阻止其他事務(wù)讀或更新這個表的數(shù)據(jù),直到這個語句或整個事務(wù)結(jié)束。
(12)
UPDLOCK
:指定在
讀表中數(shù)據(jù)時設(shè)置更新
鎖(update
lock)而不是設(shè)置共享鎖,該鎖一直保持到這個語句或整個事務(wù)結(jié)束,使用UPDLOCK的作用是允許用戶先讀取數(shù)據(jù)(而且不阻塞其他用戶讀數(shù)據(jù)),并且保證在后來再更新數(shù)據(jù)時,這一段時間內(nèi)這些數(shù)據(jù)沒有被其他用戶修改。
這個和C# 沒有關(guān)系,是數(shù)據(jù)庫鎖層面的原因,你只要執(zhí)行的SQL 語句發(fā)出明確的帶鎖指令即可。
SQL Server 鎖類型(與粒度相對應(yīng))
1. HOLDLOCK: 在該表上保持共享鎖,直到整個事務(wù)結(jié)束,而不是在語句執(zhí)行完立即釋放所添加的鎖。
2. NOLOCK:不添加共享鎖和排它鎖,當這個選項生效后,可能讀到未提交讀的數(shù)據(jù)或“臟數(shù)據(jù)”,這個選項僅僅應(yīng)用于SELECT語句。
3. PAGLOCK:指定添加頁鎖(否則通常可能添加表鎖)。
4. READCOMMITTED用與運行在提交讀隔離級別的事務(wù)相同的鎖語義執(zhí)行掃描。默認情況下,SQL Server 2000 在此隔離級別上操作。
5. READPAST: 跳過已經(jīng)加鎖的數(shù)據(jù)行,這個選項將使事務(wù)讀取數(shù)據(jù)時跳過那些已經(jīng)被其他事務(wù)鎖定的數(shù)據(jù)行,而不是阻塞直到其他事務(wù)釋放鎖,READPAST僅僅應(yīng)用于READ COMMITTED隔離性級別下事務(wù)操作中的SELECT語句操作。
6. READUNCOMMITTED:等同于NOLOCK。
7. REPEATABLEREAD:設(shè)置事務(wù)為可重復(fù)讀隔離性級別。
8. ROWLOCK:使用行級鎖,而不使用粒度更粗的頁級鎖和表級鎖。
9. SERIALIZABLE:用與運行在可串行讀隔離級別的事務(wù)相同的鎖語義執(zhí)行掃描。等同于 HOLDLOCK。
10. TABLOCK:指定使用表級鎖,而不是使用行級或頁面級的鎖,SQL Server在該語句執(zhí)行完后釋放這個鎖,而如果同時指定了HOLDLOCK,該鎖一直保持到這個事務(wù)結(jié)束。
11. TABLOCKX:指定在表上使用排它鎖,這個鎖可以阻止其他事務(wù)讀或更新這個表的數(shù)據(jù),直到這個語句或整個事務(wù)結(jié)束。
12. UPDLOCK :指定在讀表中數(shù)據(jù)時設(shè)置更新 鎖(update lock)而不是設(shè)置共享鎖,該鎖一直保持到這個語句或整個事務(wù)結(jié)束,使用UPDLOCK的作用是允許用戶先讀取數(shù)據(jù)(而且不阻塞其他用戶讀數(shù)據(jù)),并且保證在后來再更新數(shù)據(jù)時,這一段時間內(nèi)這些數(shù)據(jù)沒有被其他用戶修改。
下面的示例 為
--鎖表(其它事務(wù)不能讀、更新、刪除)
SELECT * FROM 表名 WITH(TABLOCKX);
詳細步驟如下:
1、點擊【新建查詢】按鈕,打開SQL命令編輯框,對數(shù)據(jù)庫表的操作以及維護都可以通過編輯SQL命令實現(xiàn)。
2、在編輯框內(nèi)編輯創(chuàng)建數(shù)據(jù)庫表的代碼,確認代碼無誤后,單擊【執(zhí)行】按鈕,創(chuàng)建數(shù)據(jù)表。
3、創(chuàng)建數(shù)據(jù)表的源代碼如下:
use test go
if exists(select name from sys.tables where name='Student')
drop table Student go
create table Student
(sname nchar(10) primary key,
sex nchar(2) not null,
bir datetime)
數(shù)據(jù)庫管理系統(tǒng),database management system,簡稱dbms,是一種操縱和管理數(shù)據(jù)庫的大型軟件,用于建立、使用和維護數(shù)據(jù)庫。用戶通過dbms訪問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫管理員也通過dbms進行數(shù)據(jù)庫的維護工作。它可使多個應(yīng)用程序和用戶用不同的方法在同時或不同時刻去建立,修改和詢問數(shù)據(jù)庫。
提供數(shù)據(jù)定義語言(ddl)。用它書寫的數(shù)據(jù)庫模式被翻譯為內(nèi)部表示。數(shù)據(jù)庫的邏輯結(jié)構(gòu)、完整性約束和物理儲,存結(jié)構(gòu)保存在內(nèi)部的數(shù)據(jù)字典中。數(shù)據(jù)庫的各種數(shù)據(jù)操作(如查找、修改、插入和刪除等)和數(shù)據(jù)庫的維護管理都是以數(shù)據(jù)庫模式為依據(jù)的。
您好:
SQL SERVER 通過鎖管理器自動發(fā)現(xiàn)和解決死鎖。在 SQL SERVER 中 Lock Monitor 管理線程(spid=4)每 5 秒鐘檢查一次系統(tǒng)中是否存在死鎖,同時也會使用死鎖發(fā)現(xiàn)計數(shù)器(Deadlock Detection Counter)控制檢查死鎖的頻率。
死鎖發(fā)現(xiàn)計數(shù)器初始值為 3,當發(fā)現(xiàn)死鎖時被重新設(shè)置為 3,當沒有發(fā)現(xiàn)死鎖時此值減 1。如果死鎖發(fā)現(xiàn)計數(shù)器大于 0,則在每次有進程獲取鎖被阻止時,鎖管理器都要求 Lock Monitor 線程檢查死鎖;而如果計數(shù)器等于 0,則在每次有進程獲取鎖被阻止時,鎖管理器不會要求 Lock Monitor 線程檢查死鎖,只是每 5 秒鐘檢查一次。
Lock Monitor 線程通過檢查鎖的等待列表發(fā)現(xiàn)保持鎖的進程和等待鎖的進程間的關(guān)系,從而發(fā)現(xiàn)死鎖。
查看被鎖表:select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT' spid 鎖表進程 tableName 被鎖表名 解鎖: declare @spid int Set @spid = 57 --鎖表進程declare @sql varchar(1000)set @sql='kill '+cast(@spid as varchar)exec(@sql)
分享名稱:sqlserver表解鎖,sql解鎖表語句
文章網(wǎng)址:http://chinadenli.net/article32/dsecdsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、品牌網(wǎng)站建設(shè)、微信小程序、電子商務(wù)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)