SQL Server 数据库的并发控制原理-锁原理以及锁类型

锁的用途
  • 为了避免同时争抢数据库资源,将数据库加锁,只有拿到钥匙的用户才能使用
数据库中锁的粒度
  • Row行
  • Page页
  • Partition区
  • Table表
SQL Server数据库中可以锁定的资源类型
  • 整个库
  • 数据库文件
  • 对象
  • 页,例如数据页或索引页
  • 索引键
  • 区,一组连续的八页
  • 数据行
  • 应用程序专业的资源
  • 元数据锁
  • 堆或B树
  • 分配单元
锁的类型
  • 共享锁:用于所有的只读数据操作
  • 修改锁:在修改操作的初始化阶段用来锁定可能要被修改的资源
  • 独占锁:为修改数据而保留的。独占锁不能和其他锁兼容。
  • 架构锁:分为架构修改锁(Sch-M)和架构稳定锁(Sch-S)
  • 意向锁:说明SQL Server有在资源的底层获得共享锁或独占锁的意向
  • 批量修改锁:批量复制数据时使用批量修改锁
如何查看SQL Server中的锁
  • 通过系统DMV函数:sys.dm_tran_locks
  • 使用Profiler来捕捉锁信息
SQL
SELECT * FROM sys.dm_tran_locks
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
滚动至顶部