星空网 > 软件开发 > 数据库

数据库引擎隔离级别

ISO 标准定义了下列隔离级别,SQL Server 数据库引擎支持所有这些隔离级别:

  • 未提交读(隔离事务的最低级别,只能保证不读取物理上损坏的数据)

  • 已提交读(数据库引擎的默认级别)

  • 可重复读

  • 可序列化(隔离事务的最高级别,事务之间完全隔离)

SQL Server 还支持使用行版本控制的两个事务隔离级别。一个是已提交读隔离的新实现,另一个是新事务隔离级别(快照)。

  • 当 READ_COMMITTED_SNAPSHOT 数据库选项设置为 ON 时,已提交读隔离使用行版本控制提供语句级读取一致性。读取操作只需要 SCH-S 表级别的锁,不需要页锁或行锁。当 READ_COMMITTED_SNAPSHOT 数据库选项设置为 OFF(默认设置)时,已提交读隔离的行为方式与其在早期版本 SQL Server 中行为方式相同。两个实现都满足已提交读隔离的 ANSI 定义。

  • 快照隔离级别使用行版本控制来提供事务级别的读取一致性。读取操作不获取页锁或行锁,只获取 SCH-S 表锁。读取其他事务修改的行时,读取操作将检索启动事务时存在的行的版本。将 ALLOW_SNAPSHOT_ISOLATION 数据库选项设置为 ON 时,将启用快照隔离。默认情况下,用户数据库的此选项设置为 OFF。

数据库引擎隔离级别注意:
SQL Server 不支持元数据的版本控制。因此,对于在快照隔离下运行的显式事务中可以执行的 DDL 操作存在限制。在快照隔离下,BEGIN TRANSACTION 语句之后不允许使用任何公共语言运行时 (CLR) DDL 语句或下列 DDL 语句:ALTER TABLE、CREATE INDEX、CREATE

下表显示了不同隔离级别导致的并发副作用。

隔离级别 脏读 不可重复读 幻读

未提交读

已提交读

可重复读

快照

可序列化

有关每个事务隔离级别控制的特定类型的锁或行版本控制的详细信息,请参阅SET TRANSACTION ISOLATION LEVEL (Transact-SQL)。




原标题:数据库引擎隔离级别

关键词:数据库

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

马上要春节放假了,外贸工作怎么办?:https://www.ikjzd.com/articles/113836
海关接受174票出口退货商品申报,跨境电商出口退货通道打通:https://www.ikjzd.com/articles/113837
关键词还能这样上首页,你绝对想不到!:https://www.ikjzd.com/articles/113838
刷单前操作准备:如何进行安全有效刷单:https://www.ikjzd.com/articles/113839
重要通知 | 2020年亚马逊日本站费用变更汇总!:https://www.ikjzd.com/articles/113840
想要缩短亚马逊店铺网址?试试这14款工具:https://www.ikjzd.com/articles/113841
九寨沟景区地图(详细指南和攻略):https://www.vstour.cn/a/365176.html
重庆品胜科技与星苹台达成合作 助力部队现代化后勤建设 :https://www.kjdsnews.com/a/1836523.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流