|
|
 |
专题栏目 |
 |
 |
相关文章 |
 |
|
|
|
|
 |
对SQL SERVER 2000隔离级别的认识 |
热 |
|
| 对SQL SERVER 2000隔离级别的认识 |
|
作者:xuhongying8848 文章来源:不详 点击数: 更新时间:2007-11-14 12:58:17  |
|
当锁定用作并发控制机制时,它可以解决并发问题。这使所有事务得以在彼此完全隔离的环境中运行,但是任何时候都可以有多个正在运行的事务。 可串行性是通过运行一组并发事务达到的数据库状态,等同于这组事务按某种顺序连续执行时所达到的数据库状态。
SQL-92 隔离级别 尽管可串行性对于事务确保数据库中的数据在所有时间内的正确性相当重要,然而许多事务并不总是要求完全的隔离。例如,多个作者工作于同一本书的不同章节。新章节可以在任意时候提交到项目中。但是,对于已经编辑过的章节,没有编辑人员的批准,作者不能对此章节进行任何更改。这样,尽管有未编辑的新章节,但编辑人员仍可以确保在任意时间该书籍项目的正确性。编辑人员可以查看以前编辑的章节以及最近提交的章节。
事务准备接受不一致数据的级别称为隔离级别。隔离级别是一个事务必须与其它事务进行隔离的程度。较低的隔离级别可以增加并发,但代价是降低数据的正确性。相反,较高的隔离级别可以确保数据的正确性,但可能对并发产生负面影响。应用程序要求的隔离级别确定了 SQL Server 使用的锁定行为。
SQL-92 定义了下列四种隔离级别,
SQL Server 支持所有这些隔离级别: 未提交读(事务隔离的最低级别,仅可保证不读取物理损坏的数据)。 提交读(SQL Server 默认级别)。 可重复读。 可串行读(事务隔离的最高级别,事务之间完全隔离)。 如果事务在可串行读隔离级别上运行,则可以保证任何并发重叠事务均是串行的。 下面四种隔离级别允许不同类型的行为。
隔离级别
脏读
不可重复读取
幻像
未提交读
是
是
是
提交读
否
是
是
可重复读
否
否
是
可串行读
否
否
否
事务必须运行于可重复读或更高的隔离级别以防止丢失更新。当两个事务检索相同的行,然后基于原检索的值对行进行更新时,会发生丢失更新。如果两个事务使用一个 UPDATE 语句更新行,并且不基于以前检索的值进行更新,则在默认的提交读隔离级别不会发生丢失更新。
|
|
| 文章录入:mintao 责任编辑:mintao |
|
|
上一篇文章: 一句T-SQL语句引发的思考 下一篇文章: SQL SERVER 的函数 |
|
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网] |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| |
|
|
|
|