SQL Server表被鎖了怎么辦?快速查看和解鎖的實(shí)用方法
某些情況下,sqlserver的表會(huì)被鎖住,比如某個(gè)會(huì)話窗口有數(shù)據(jù)一直沒提交,窗口又沒關(guān)閉,這時(shí)表就會(huì)被鎖住
其他任何連接查詢表數(shù)據(jù)時(shí)都不會(huì)返回
這時(shí)需要手工殺掉產(chǎn)生死鎖的會(huì)話ID,才能恢復(fù)正常
一、查看表鎖
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT'
假設(shè)查詢執(zhí)行時(shí),系統(tǒng)中有兩個(gè)會(huì)話分別在不同的表上持有對(duì)象鎖,返回的結(jié)果可能如下所示:

在這個(gè)示例中:
- 會(huì)話 ID 為 54 的會(huì)話在 Employees 表上持有對(duì)象鎖。
- 會(huì)話 ID 為 78 的會(huì)話在 Orders 表上持有對(duì)象鎖。
二、解鎖
declare @spid int Set @spid = 57 --鎖表進(jìn)程 declare @sql varchar(1000) set @sql='kill '+cast(@spid as varchar) exec(@sql)
sql server在執(zhí)行查詢語(yǔ)句時(shí)會(huì)鎖表。在鎖表期間禁止增刪改操作。
如果不想鎖表,那就再表名或別名后面加上WITH(NOLOCK)(這種操作會(huì)出現(xiàn)臟的,慎用?。?/p>
如下所示:
SELECT Id FROM dbo.T_Table WITH(NOLOCK) WHERE Id = 1
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
數(shù)據(jù)庫(kù)分頁(yè)存儲(chǔ)過程代碼
數(shù)據(jù)庫(kù)分頁(yè)存儲(chǔ)過程代碼...2007-04-04
MSSQL附加數(shù)據(jù)庫(kù)拒絕訪問提示5120錯(cuò)誤的處理方法
這篇文章主要介紹了MSSQL附加數(shù)據(jù)庫(kù)拒絕訪問提示5120錯(cuò)誤的處理方法,需要的朋友可以參考下2014-07-07
如何使用Visual Studio 2010在數(shù)據(jù)庫(kù)中生成隨機(jī)測(cè)試數(shù)據(jù)
本文主要介紹Visual Studio 2010的Data Generation數(shù)據(jù)生成器的使用方法,需要的朋友可以參考下2014-08-08
SQL Server數(shù)據(jù)庫(kù)的三種恢復(fù)模式:簡(jiǎn)單恢復(fù)模式、完整恢復(fù)模式和大容量日志恢復(fù)模式
這篇文章主要介紹了SQL Server數(shù)據(jù)庫(kù)的三種恢復(fù)模式:簡(jiǎn)單恢復(fù)模式、完整恢復(fù)模式和大容量日志恢復(fù)模式,需要的朋友可以參考下2018-10-10
mssql關(guān)于一個(gè)表格結(jié)構(gòu)的另外一種顯示(表達(dá)意思不變)
mssql關(guān)于一個(gè)表格結(jié)構(gòu)的另外一種顯示(表達(dá)意思不變)接下來介紹實(shí)現(xiàn)方法,感興趣的朋友可以了解下哦2013-01-01
Sql Server 2012完全卸載方法 只需8步輕松卸載
這篇文章主要為大家詳細(xì)介紹了Sql Server 2012完全卸載方法,八步輕松實(shí)現(xiàn)Sql Server 2012完全卸載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
海量數(shù)據(jù)庫(kù)的查詢優(yōu)化及分頁(yè)算法方案
海量數(shù)據(jù)庫(kù)的查詢優(yōu)化及分頁(yè)算法方案...2007-03-03
一步步教你建立SQL數(shù)據(jù)庫(kù)的表分區(qū)
分區(qū)存儲(chǔ)提高了數(shù)據(jù)庫(kù)的性能,被分區(qū)存儲(chǔ)的數(shù)據(jù)物理上是多個(gè)文件,但邏輯上任然是一個(gè)表,對(duì)表的任何操作都跟沒分區(qū)之前一樣。插入、刪除、查詢、更新等操作的時(shí)候,數(shù)據(jù)庫(kù)會(huì)自動(dòng)為你找到對(duì)應(yīng)的分區(qū),然后執(zhí)行操作。2015-09-09

