首頁 > 資料庫 > mysql教程 > SQLSERVER中的锁资源类型RID KEY PAG EXT TAB DB FIL

SQLSERVER中的锁资源类型RID KEY PAG EXT TAB DB FIL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-07 15:45:03
原創
1851 人瀏覽過

SQLSERVER中的锁资源类型RID KEY PAG EXT TAB DB FIL 在检测死锁的时候,会用到sp_lock这个存储过程,里面有一列:type 即锁的资源类型 通俗来讲就是SQLSERVER可以在哪些资源上加锁 可以加锁的资源有RID KEY PAG EXT TAB DB FIL ,下面一一道来 以下是对不同

SQLSERVER中的锁资源类型RID KEY PAG EXT TAB DB FIL

在检测死锁的时候,会用到sp_lock这个存储过程,里面有一列:type 即锁的资源类型

通俗来讲就是SQLSERVER可以在哪些资源上加锁

可以加锁的资源有RID KEY PAG EXT TAB DB FIL ,下面一一道来

以下是对不同种类的资源含义的解释,只有了解他们的意思,才能真正看懂阻塞

RID:格式为fileid:pagenumber:rid的标识符,其中fileid标识包含页的文件, pagenumber标识包含行的页,rid标识页上的特定行。

fileid与sys.databases_files 目录视图中的file_id列相匹配

例如:在运行sp_lock的时候有一行的Resource列显示RID 是1:6681:26 而status列显示wait,

他的意思是在第一个数据文件上的第6681页上的第26个行上的锁资源。

如果要查看这个页面上到底有哪些数据,可以考虑使用DBCC PAGE()

 

KEY:数据库引擎内部使用的十六进制数。

这个值和sys.partions.hobt_id相对应出现这种资源说明锁是在一个索引上面。通过查询sys.partitions视图里相应的object_id和index_id就能找到这个索引

 

PAG:格式为fileid:pagenumber的数字,其中fileid标识包含页的文件,pagenumbe标识页

EXT:标识区中的第一页的数字。该数字的格式为fileid:pagenumber

TAB:没有提供信息,因为已在sp_lock中的Objid列中标识了表

DB:没有提供信息,因为已经在sp_lock中的dbid列中标识了数据库

FIL:文件的标识符,与sys.database_files目录视图中的file_id列相匹配

通过这些资源的名字,就可以找到阻塞发生在哪个对象的哪种资源上

 

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
tp6連線sqlserver資料庫問題
來自於 1970-01-01 08:00:00
0
0
0
php 如何呼叫sqlserver的分頁儲存過程
來自於 1970-01-01 08:00:00
0
0
0
php 7.2.10 連結 SQLserver2008r2 報錯
來自於 1970-01-01 08:00:00
0
0
0
Laravel 中無法連線 SQL Server
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板