锁兼容性

如果某个事务已锁定一个资源,而另一事务又需要访问该资源,那么 Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 会根据第一个事务所用锁定模式的兼容性确定是否授予第二个锁。

对于已锁定的资源,只能施加兼容类型的锁。例如,如果持有排他 (X) 锁,那么,除非在第一个事务结束时释放该 X 锁,否则其他事务将无法获取该资源的共享锁、更新锁或排他锁。相反,如果已向某个资源应用共享 (S) 锁,那么,即使第一个事务尚未完成,其他事务也可以获取该资源的共享锁或更新 (U) 锁。但是,只有在释放共享锁之后,其他事务才可以获取排他锁。

资源的锁定模式有一个兼容性矩阵,可以显示哪些锁与在同一资源上获取的其他锁兼容,并按照锁强度递增的顺序列出这些锁。

下表显示了请求的锁定模式及其与现有锁定模式的兼容性:

请求的模式 IS S U IX SIX X

意向共享 (IS)

共享 (S)

更新 (U)

意向排他 (IX)

意向排他共享 (SIX)

排他 (X)

注意:
IX 锁与 IX 锁定模式兼容,因为 IX 指示其意向是更新某些行,而不是更新所有行。只要不会影响其他事务正在更新的行,那么也允许其他事务读取或更新某些行。

锁兼容性矩阵

SQL Server Compact Edition 支持下列锁:

  • Sch-S、Sch-X、S、U、X、IS、IU、IX、SIU、SIX、UIX
注意:
除了架构修改 (Sch-M) 锁定模式之外,架构稳定性 (Sch-S) 锁与所有锁定模式都兼容。Sch-M 锁与所有锁定模式都不兼容。

有关锁兼容性矩阵,请参阅 SQL Server 联机丛书。

请参阅

概念

了解锁定
显示锁定信息
自定义锁定

帮助和信息

获取 SQL Server Compact Edition 帮助