对SQL Server锁模式的描述

数据库 SQL Server
SQL Server锁模式应用中是经常出现的在实际的运行中带来很多的不便,以下的文章就是介绍SQL Server锁模式的解决方案。

以下的文章主要描述的是SQL Server锁模式的描述,其意向共享 (IS) 通过在各资源上放置 S 锁,表明事务的意向主要是读取层次结构中的部分(而不是全部)底层资源。意向排它 (IX) 通过在各资源上放置 X 锁。

表明事务的意向是修改层次结构中的部分(而不是全部)底层资源。IX 是 IS 的超集。

与意向排它共享 (SIX) 通过在各资源上放置 IX 锁,表明事务的意向是读取层次结构中的全部底层资源并修改部分(而不是全部)底层资源。允许顶层资源上的并发 IS 锁。例如,表的 SIX 锁在表上放置一个 SIX 锁(允许并发 IS 锁),在当前所修改页上放置 IX 锁(在已修改行上放置 X 锁)。

虽然每个资源在一段时间内只能有一个 SIX 锁,以防止其它事务对资源进行更新,但是其它事务可以通过获取表级的 IS 锁来读取层次结构中的底层资源。

独占锁:

只允许进行锁定操作的程序使用,其他任何对他的操作均不会被接受。执行数据更新命令时,SQL Server会自动使用独占锁。当对象上有其他锁存在时,无法对其加独占锁。

共享锁:共享锁锁定的资源可以被其他用户读取,但其他用户无法修改它,在执行Select时,SQL Server会对对象加共享锁。

更新锁:

当SQL Server准备更新数据时,它首先对数据对象作更新锁锁定,这样数据将不能被修改,但可以读取。等到SQL Server确定要进行更新数据操作时,他会自动将更新锁换为独占锁,当对象上有其他锁存在时,无法对其加更新锁。

从程序员的角度看:分为乐观锁和悲观锁。

乐观锁:完全依靠数据库来管理锁的工作。

悲观锁:程序员自己管理数据或对象上的锁处理。

MS-SQLSERVER 使用锁在多个同时在数据库内执行修改的用户间实现悲观并发控制

以上的相关内容就是对SQL Server锁模式的描述的介绍,望你能有所收获。 

上述的相关内容就是对SQL Server锁模式描述的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. 遇到SQL Server 2000Bug不可怕!
  2. SQL Server数据库在安装时的注意事项
  3. SQL Server 2005数据库安装实例演示
  4. SQL Server 2000全文检索的使用方案描述
  5. SQL Server数据库与identity列
责任编辑:佚名 来源: 51CTO.com
相关推荐

2010-07-20 08:35:54

SQL Server锁

2010-07-19 16:17:41

SQL Server聚

2010-11-09 13:47:17

SQL Server资

2011-03-30 11:28:31

SQL Server聚集索引

2010-07-26 16:11:45

Microsoft S

2010-07-26 15:17:46

SQL Server锁

2010-07-23 15:33:05

SQL Server锁

2010-06-17 15:09:49

SQL Server

2010-07-05 14:20:29

2010-07-22 17:33:42

2010-11-09 13:58:03

SQL Server锁

2010-07-07 10:54:22

SQL Server索

2010-07-06 12:34:28

SQL Server数

2010-07-22 15:13:08

SQL Server

2010-06-28 13:56:16

SQL Server代

2010-07-09 10:08:53

SQL Server函

2010-07-07 09:27:15

SQL Server索

2010-09-08 13:31:24

2010-07-19 13:35:51

SQL Server性

2010-06-18 10:50:55

ms SQL Serv
点赞
收藏

51CTO技术栈公众号