笔记66 SQL中的资源类型RID KEY PAG EXT TAB DB FIL
笔记66 SQL中的资源类型RID KEY PAG EXT TAB DB FIL
1 --SQL中的资源类型RID KEY PAG EXT TAB DB FIL 2 3 --以下是对不同种类的资源含义的解释,只有了解他们的意思,才能真正看懂阻塞 4 5 --RID:格式为fileid:pagenumber:rid的标识符,其中fileid标识包含页的文件, 6 --pagenumber标识包含行的页,rid标识页上的特定行。fileid与sys.databases_files 7 --目录视图中的file_id列相匹配 8 --例如:例子中有个正处于wait状态的RID Resource是1:6681:26 9 --他的意思是在第一个数据文件上的第6681页上的第26个行上的锁资源。如果要查看 10 --这个页面上到底有哪些数据,可以考虑使用DBCC PAGE() 第一章 11 12 ---------------------------------------------------------------------------------- 13 --KEY:数据库引擎内部使用的十六进制数。这个值和sys.partions.hobt_id相对应 14 --出现这种资源说明锁是在一个索引上面。通过查询sys.partitions视图里相应的 15 --object_id和index_id就能找到这个索引 16 --例子里有个KEY(46000227c460), 他的dbid是9,object_id是834674039,index_id是1 17 --从上面sys.indexes的结果,就可以知道他是PK_Employee_EmployeeID_Demo_BTree这个 18 --索引 19 20 ------------------------------------------------------------------------------------- 21 --PAG:格式为fileid:pagenumber的数字,其中fileid标识包含页的文件,pagenumbe标识页 22 ----------------------------------------------------------------------------------------- 23 --EXT:标识区中的第一页的数字。该数字的格式为fileid:pagenumber 24 --------------------------------------------------------------------------------- 25 --TAB:没有提供信息,因为已在Objid列中标识了表 26 --------------------------------------------------------------------------- 27 --DB:没有提供信息,因为已经在dbid列中标识了数据库 28 ---------------------------------------------------------------------------------- 29 --FIL:文件的标识符,与sys.database_files目录视图中的file_id列相匹配 30 31 EXEC [sys].[sp_helpdb] @dbname = gposdb -- sysname 32 --通过这些资源的名字,读者可以找到阻塞发生在哪个对象的哪种资源上