SQL Server锁定【2015.12.17】
锁定的体系分类
1.表级锁
保证数据在逻辑上的一致性。
包含:行级锁、分页锁、表、数据分页、LOB分页以及索引叶子级锁。
2.闩
保证数据在物理上的一致性,系统采用,比锁少耗资源,对用户不可见。
锁的分类
锁定包括共享锁、排他锁、更新锁以及意向锁,再加上这些锁类型的一些变种
1.共享锁
当数据被读取的时候,事务自动获取共享锁,完毕之后立即释放。
多个事务可以在同一数据上持有共享锁。
2.排他锁
当数据被插入、更新或者删除操作,事务自动获取数据上的排他锁,直至事务结束才释放。
3.更新锁
当事务执行对数据A修改操作但首先需要搜索表时,更新锁就会被获取。
4.意向锁
意向锁可以拥有意向共享锁、意向排他锁、意向更新锁等等,实际起标识作用。
5.转换锁
当锁由一个模式转化为另外一种模式的时候造成,感觉没特别的含义和作用。
6.键范围锁
为在可串行化隔离级别中锁定一定范围的数据而设置的锁。
键范围锁的对象是键,所以表必须要有索引的存在。如果没有锁引,可串行化隔离就会申请一个表级锁。
7.自旋锁
自旋锁用于实现互斥,但不会锁住数据。(感觉用的不多,不了解)
锁的粒度
1.常用粒度:数据行、分页、表、索引键
注:聚集索引的叶子级点实际就是数据行,这种情况是有键锁来进行锁定的。
2.其他的粒度:扩展、数据库锁
3.应用程序级锁:对应用程序设置锁,语法sp_getapplock [资源名],[锁的模式],[所有者],[超时设置],[用户/角色]
SQL Server锁定【2015.12.17】的更多相关文章
- 微软SQL Server认证最新信息(17年5月22日更新),感兴趣的进来看看哟
之前一直有在关注微软认证的一些消息,由于最新的SQL Server认证加入了2016的相关内容,导致课程资料需要大部分更新,但是微软更新相对比较慢,并且经常改版,目前发现的最新的MCP Cert Pa ...
- SQL Server代理(10/12):使用代理账号运行作业
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 在这一系列的上一篇,你查看了msdb库下用 ...
- SQL Server代理(5/12):理解SQL代理错误日志
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 如我们在这个系列的前几篇文章所见,SQL ...
- SQL SERVER 锁定的实例
---实例DB:AdventureWorks2014 --- 创建view DBLocks USE [AdventureWorks2014] GO /****** Object: View [dbo] ...
- SQL Server代理(11/12):维护计划作业
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 在这一系列的上一篇,我们看了使用代理帐户模 ...
- SQL Server代理(9/12):理解作业和安全
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 在这个系列的前一篇文章里,你学习了如何在S ...
- SQL Server代理(8/12):使用SQL Server代理外部程序
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 在这个系列的上篇文章里,你学习如何使用SQ ...
- SQL Server代理(7/12):作业活动监视器
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 在这个系列的前几篇文章里,你创建配置了SQ ...
- SQL Server代理(6/12):作业里的工作流——深入作业步骤
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 如我们在这里系列的前几篇文章所见,SQL ...
- SQL Server代理(4/12):配置数据库邮件
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 在以前的文章里我们看到,SQL Serve ...
随机推荐
- 说说IT技术团队招聘那点事
因为近来由于新项目的需要,各种招聘比较多,几乎每周都要面试几个人,顺便对以前的面试和带开发经验进行简单的总结 1.首先负责招聘的人一定得是自己团队的人,而且在招聘的时候一定要想清楚目标候选人进来的职责 ...
- java内存模型-锁
锁的释放-获取建立的 happens before 关系 锁是 java 并发编程中最重要的同步机制.锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息.下面是锁释放-获取的示 ...
- 客观评价C#的优点和缺点
对于C#,coder中可以分为2类:一类是C#死忠,对它赞赏到极点:另一类刚好相反,对它极度排斥. 本文将以全面.客观的方式评价这门语言,特别是语法方面. 其实很多人评价一门语言是带着一种感情色彩的. ...
- JSON.NET 使用技巧
1. 序列化相关技巧 通过特性忽略某些属性 有时候我们会有这样的需求,我们只需要序列化实体类中的一部分属性,这时候我们可以通过声明忽略掉一些我们不需要序列化的属性,有两种方式可以使用么达到这个目标: ...
- 使用 SVG 制作单选和多选框动画【附源码】
通过 JavaScript 实现 SVG 路径动画,我们可以做很多花哨的东西.今天我们要为您介绍一些复选框和单选按钮效果.实现的主要思路是隐藏原生的输入框,使用伪元素创造更具吸引力的样式,输入框被选中 ...
- 定制Eclipse IDE之插件篇(一)
上文回顾:定制Eclipse IDE之功能篇(二) 在这篇文章中,我会将我定制eclipse用到的其他插件罗列出来. 一.汉化插件 Eclipse本身是英文显示的,我们能够通过插件汉化. 1. 选择 ...
- SAP查询事务、表属于哪个模块
这个功能主要是在汇报SAP的产品问题时,让你知道该选择你所汇报的问题所哪个子模块的.它可以依据事务代码.表.程序名.域.数据元素来查找. 方法:SE38,执行报表程序:RSSTATUS .
- 解决Visual Stuido 2013中Xamarin的*.axml文件没有智能提示问题
最近发现VS2013开发Android,发现.axml无法进行智能提示. 1.打开VS2013菜单栏中,点击工具--选项--文本编辑器--文件扩展名 2.增加一个扩展名为"axml" ...
- 限制EditText 输入的字节数
1.代码 name_tv = (EditText) findViewById( R.id.name_tv ); name_tv.addTextChangedListener(new TextWatch ...
- 【代码笔记】iOS-伸缩式动画
一,效果图. 二,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the ...