SQL Server是一个高度事务性的数据库。 例如,假设您正在支持一个在线购物门户的数据库,您可以在该门户中全天候接收来自客户的新订单。 多个用户可能同时执行相同的活动。 在这种情况下,数据库应遵循
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持久性(Durability)
(ACID)属性,以保持一致、可靠并保护数据完整性。
为了遵循 ACID 属性,SQL Server 使用锁定机制(locking mechanisms)、约束(constraints)和预写日志记录(write-ahead logging.)。 各种锁类型包括:排他锁(exclusive lock)(X)、共享锁(shared lock)(S)、更新锁(update lock)(U)、意图锁(intent lock)(I)、模式锁(schema lock)(SCH)和批量更新锁(bulk update lock)(BU)。 这些锁可以在键、表、行、页和数据库级别上获取!