SQL Server事务操作隔离模式
来源:互联网 发布:30备案域名交易平台 编辑:程序博客网 时间:2024/05/21 06:27
一般而言,最好让SQL Server以默认形式在隔离事务操作;毕竟,隔离是ACID模型的基本原则之一。但是,有时候因为业务需求的原因,数据库管理员不得不违背默认行为,而是采取更灵活一点的方法来进行事务操作隔离。
【IT专家网独家】一般而言,最好让SQL Server以默认形式在隔离事务操作;毕竟,隔离是ACID模型的基本原则之一。但是,有时候因为业务需求的原因,数据库管理员不得不违背默认行为,而是采取更灵活一点的方法来进行事务操作隔离。针对数据库管理员遇到的这类情况,SQL Serve提供了五种不同的事务操作隔离模式。在详细介绍这些事务操作隔离模式之前,必需先了管理员会遇到的数据库问题:
- 脏数据读写,这种情况发生在当一个事务读写由另一个事务修改而未提交的数据的时候。如果另一个事物永远都不提交其修改数据,那么第一个事务就永远都得到一个无效的值,即脏数据。
- 不可重复读写,这种情况发生在当一个事务在试图重复读取同一数据,而另一个事务在这第一个事务重复读取之前修改了此数据的时候。这样会使第一个事务在读取同一数据时获得两个不同的值,导致原始数据读取变成不可重复。
- 影象读写,这种情况发生在当一个事务在某一个表格中进行多次数据查询,而另一个事务插入或者删除满足查询条件的数据行。这会造成前一个事务获得或失去一个“影象”值。
SQL Server的每一种隔离模式都试图解决以上问题中的部分,使数据库管理员能够保持事务操作隔离和业务需求之间的平衡。以下是SQL Server的五种隔离模式:
- 读写提交隔离模式,这是SQL Server默认的隔离模式,数据库不允许事务操作读写由未提交的事务操作写的数据。这个模式可以防止产生脏数据读写,但是不能防止影象读写或不可重复读写的情况。
- 读写未提交隔离模式,这种模式基本在事务操作之间没有进行隔离。任何事务都可以读写由另一个未提交的事务写的数据。这种模式下,事务操作很容易出现脏数据读写、影象读写和不可重复读写的情况。
- 可重复读写隔离模式,比读写提交隔离模式更进一步,能够阻止事务修改正被另一个事务读写的数据,直到读写操作结束。这个隔离模式可以防止脏数据读写和不可重复读写的情况发生。
- 串行化隔离模式,这个模式运用范围锁防止一个事务在另一个事务对数据进行读取时插入或者删除数据行。串行化隔离模式能够防止上述三种情况的发生。
- 快照隔离模式,这个模式同样可以防止三种情况的发生,只是方法不同。它为每一个事务提供其查询数据的“快照”,事务可以查询快照,无需返回到源数据表格,从而防止产生脏数据读取。
如果想要改变SQL Server使用的隔离模式,只需要输入以下命令:
SET TRANSACTION ISOLATION LEVEL
· READ COMMITTED
· READ UNCOMMITTED
· REPEATABLE READ
· SERIALIZABLE
· SNAPSHOT
这些都是基本的SQL Server事务隔离模式。
- SQL Server事务操作隔离模式
- SQL SERVER 事务隔离
- SQL Server 事务隔离级别
- sql server事务隔离级别
- SQL Server事务隔离级别
- SQL Server 2000之事务隔离
- 微软SQL Server事务隔离级别简介
- sql server 数据库事务隔离级别
- 微软SQL Server事务隔离级别简介
- SQL Server事务的隔离级别
- SQL Server 事务隔离级别详解
- SQL Server 事务隔离级别详解
- SQL Server 事务与隔离级别
- SQL Server 事务隔离级别详解
- SQL Server 事务隔离级别详解
- SQL Server 事务隔离级别详解
- SQL Server事务操作
- SQL Server事务操作(C#)
- 拆分字段,并将其行列转换
- 前台页面使用utf-8编码,url中包含中文参数时后台获取参数乱码问题解决
- 元素居中之完美解决方案
- NSXMLParser详解
- 读林斌博士写好代码十个秘诀
- SQL Server事务操作隔离模式
- ubuntu界面修改
- extern "C"(百度百科)
- Applet与NoClassDefFoundError那不为人知的故事
- iphone开发中内存利用说明
- IO系统性能 衡量 指标
- Android 下使用 JSON 实现 HTTP 请求,外加几个示例!
- ubuntu wget
- linux命令递归删除某种文件命令