共享锁(shared lock):他读锁,可以并发读取数据,但不能修改。
排它锁(exclusive lock):独占锁、写锁,对数据资源进行增删改时,其他事务不可以操作这个资源,知道排它锁被释放,防止同时对同一资源多重操作。
更新锁(Update lock):防止死锁,两个事务对同一个数据进行先读取再修改的情况,不使用共享锁或排它锁。资源的更新锁只能分配给一个事务,如果要对资源进行修改,就会变成排它锁,否则会变成共享锁。
意向锁:表示SQL Server需要层次结构中中的某些底层资源上获取shared或exclusive,例如,放置在表级的共享意向锁,表示事务打算表的页或者行上放置共享锁。在表级设置意向锁可防止另一个事务随后在包含那页获取排它锁。
意向锁有着更好的性能,因为SQL Server仅在表级检查意向锁,这样可以事务可以安全获取该表的锁,而无需检查表中的行和页上的锁是否可以锁定整个表。
架构锁:在执行依赖于表架构的操作时,架构锁的类型为:架构修改(Sch-M)和架构稳定性(Sch-S),执行表的数据定义语言(DDL)操作使用架构修改锁,当编译查询时,使用架构稳定锁。
大容量更新锁(BU):向表中大容量复制数据并制定了TABLOC