SQLServer锁原理和锁的类型

1、锁的用途

  • 为了避免同时争夺数据库资源,将数据库加锁,只有拿到钥匙的用户才能使用;

2、锁的粒度

  •    行锁(Row)--->页锁(Page)--->区锁(Partition 8个页)---->表锁(Table)

3、锁的类型

  • 共享锁: 用于所有的只读数据操作(select);
  • 修改锁: 在修改操作的初始化阶段用来锁定可能要被修改的资源(update);
  • 独占锁X(排它锁):为修改数据而保留的;(独占锁不能和其他锁兼容)
  • 架构锁:分为结构修改锁(Sch-M)和结构稳定锁(Sch-S);
  • 意向锁:说明SQL Server在资源的底层获有共享锁或独占锁的意向;(包含三种类型:意向排它锁(IX)、意向共享锁(IS)和意向排它共享锁(SIX))
  • 批量复制锁:批量复制数据时使用批量修改锁;

4、查看数据库中的锁

  • 系统DMV函数:sys.dm_tran_locks
原文地址:https://www.cnblogs.com/dingou/p/11079983.html