当我在数据库上执行sp_lock时,我看到一些具有RID wich的行定义了wich记录被锁定:
如果我在另一台服务器上和另一位用户与另一台数据库上执行sp_lock,我不会获得RID:
为什么?可能是用户的授权问题吗?
答案 0 :(得分:1)
数据库中的表是一个堆。
“当表存储为堆时,通过参考行标识符(RID)来标识各个行,该行标识符由文件号,数据页号和页面上的插槽组成。行id小而有效结构。”
您的dml语句需要锁定相应的行,并且每一行都由RID标识。
在另一台服务器上,该表具有另一个表和另一个用户,是一个群集的表。 每行由聚簇索引的“值”标识。 您的dml语句需要锁定相应的行,并且每一行都由KEY(索引值)标识。