暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
事务锁定和行版本控制指南.pdf
75
58页
1次
2023-11-17
10墨值下载
事务锁定和⾏版本控制指南
项⽬
2023/10/26
24 个参与者
反馈
本文内容 事务基本知识 锁定和⾏版本控制基本知识 数据库引擎中的锁定 锁粒度和层次结构 显⽰
另外 13
适⽤于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse
Analytics Analytics Platform System (PDW)
在任意数据库中,事务管理不善常常导致⽤户很多的系统中出现争⽤和性能问题。 随着访问数据
的⽤户数量的增加,拥有能够⾼效地使⽤事务的应⽤程序也变得更为重要。 本指南说明 SQL
Server 数据库引擎使⽤的锁定和⾏版本控制机制,以确保每个事务的物理完整性并提供有关应⽤
程序如何⾼效控制事务的信息。
备注
优化锁定 2023 年引入的⼀项数据库引擎功能,可⼤幅减少锁内存和并发写入时所需的锁数
量。 本文已更新,介绍了具有和不具有优化锁定的 SQL Server 数据库引擎。 ⽬前,优化锁定仅
Azure SQL 数据库中可⽤。
若要了解详细信息,并了解可在何处使⽤优化锁定,请参阅 优化锁定
要确定是否已在数据库上启⽤优化锁定,请参阅 是否已启⽤优化锁定?
优化锁定已⼤幅更新本文的某些部分,包括:
数据库引擎中的锁定
删除操作
插入操作
锁升级
减少锁定和升级
修改数据时的⾏为
⾏为摘要
锁提⽰
事务基本知识
事务是作为单个逻辑⼯作单元执⾏的⼀系列操作。 ⼀个逻辑⼯作单元必须有四个属性,称为原⼦
性、⼀致性、隔离性和持久性 (ACID) 属性,只有这样才能成为⼀个事务。
原⼦性
事务必须是原⼦⼯作单元;对于其数据修改,要么全都执⾏,要么全都不执⾏。
⼀致性
事务在完成时,必须使所有的数据都保持⼀致状态。 在相关数据库中,所有规则都必须应⽤于事
务的修改,以保持所有数据的完整性。 事务结束时,所有的内部数据结构(如 B 树索引或双向链
接列表)都必须是正确的。
备注
SQL Server 文档在提到索引时⼀般使⽤ B 树这个术语。 在⾏存储索引中,SQL Server 实现了 B+
树。 这不适⽤于列存储索引或内存中数据存储。 有关详细信息,请参阅 SQL Server 以及 Azure
SQL 索引体系结构和设计指南
隔离
由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。 事务识别数据时数据所处的状
态,要么是另⼀并发事务修改它之前的状态,要么是第⼆个事务修改它之后的状态,事务不会识
别中间状态的数据。 这称为可串⾏性,因为它能够重新装载起始数据,并且重播⼀系列事务,以
使数据结束时的状态与原始事务执⾏的状态相同。
持续性
完成完全持久的事务之后,它的影响将永久存在于系统中。 即使系统发⽣故障,修改也会保留。
SQL Server 2014 (12.x) 及更⾼版本启⽤延迟的持久事务。 提交延迟的持久事务后,该事务⽇志记
录将保留在磁盘上。 有关延迟事务持续性的详细信息,请参阅文章 控制事务持续性
SQL 程序员要负责启动和结束事务,同时强制保持数据的逻辑⼀致性。 程序员必须定义数据修改
的顺序,使数据相对于其组织的业务规则保持⼀致。 程序员将这些修改语句包括到⼀个事务中,
使 SQL Server 数据库引擎能够强制该事务的物理完整性。
企业数据库系统(如 SQL Server 数据库引擎的实例)有责任提供⼀种机制,保证每个事务的物理
完整性。 SQL Server 数据库引擎提供了:
锁定设备,使事务保持隔离。
通过记录设备,保证事务持久性。 对于完全持久的事务,在其提交之前,⽇志记录将强制写
入磁盘。 因此,即使服务器硬件、操作系统或 SQL Server 数据库引擎的实例⾃⾝出现故障,
该实例也可以在重新启动时使⽤事务⽇志,将所有未完成的事务⾃动地回滚到系统出现故障
的点。 提交延迟的持久事务后,该事务⽇志记录将强制写入磁盘。 如果在⽇志记录强制写
入磁盘前系统出现故障,此类事务可能会丢失。 有关延迟事务持续性的详细信息,请参阅文
控制事务持续性
事务管理特性,强制保持事务的原⼦性和⼀致性。 事务启动之后,就必须成功完成(提
交),否则 SQL Server 数据库引擎将撤消该事务启动之后对数据所做的所有修改。 此操作称
为回滚事务,因为它将数据恢复到那些更改发⽣前的状态。
控制事务
应⽤程序主要通过指定事务启动和结束的时间来控制事务。 可以使⽤ Transact-SQL 语句或数据库
应⽤程序编程接⼝ (API) 函数来指定这些时间。 系统还必须能够正确处理那些在事务完成之前便
终⽌事务的错误。 有关详细信息,请参阅 事务 ODBC 中执⾏事务 以及 SQL Server Native
Client 中的事务
of 58
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜