整理的关于sql server中事务,触发器和存储过程的介绍以及实际例子

整理的关于sql server中事务,触发器和存储过程的介绍以及实际例子

ID:6133536

大小:222.64 KB

页数:22页

时间:2018-01-04

整理的关于sql server中事务,触发器和存储过程的介绍以及实际例子_第1页
整理的关于sql server中事务,触发器和存储过程的介绍以及实际例子_第2页
整理的关于sql server中事务,触发器和存储过程的介绍以及实际例子_第3页
整理的关于sql server中事务,触发器和存储过程的介绍以及实际例子_第4页
整理的关于sql server中事务,触发器和存储过程的介绍以及实际例子_第5页
资源描述:

《整理的关于sql server中事务,触发器和存储过程的介绍以及实际例子》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、事务事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,SQLServer能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。(2):事务通常是以BEGINTRANSACTION开始,以COMMIT或ROLLBACK结束。COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续进行,系统将事务中对数据库的所有以完成的操作全部撤消,滚回到事务开始的

2、状态。(3):事务运行的三种模式:A:自动提交事务每条单独的语句都是一个事务。每个语句后都隐含一个COMMIT。B:显式事务以BEGINTRANSACTION显式开始,以COMMIT或ROLLBACK显式结束。C:隐性事务在前一个事务完成时,新事务隐式启动,但每个事务仍以COMMIT或ROLLBACK显式结束。(4):事务的特性(ACID特性)A:原子性(Atomicity)事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。B:一致性(Consistency)事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。C:隔离性(I

3、solation)一个事务的执行不能被其他事务干扰。D:持续性/永久性(Durability)一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。注:事务是恢复和并发控制的基本单位。数据库事务的ACID属性原子性  (atomic)(atomicity)  事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。一致性  (consistent)(consistency)  事务在完成时,必须使所有的数据都

4、保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如B树索引或双向链表)都必须是正确的。某些维护一致性的责任由应用程序开发人员承担,他们必须确保应用程序已强制所有已知的完整性约束。例如,当开发用于转帐的应用程序时,应避免在转帐过程中任意移动小数点。隔离性  (insulation)(isolation)  由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新

5、装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。当事务可序列化时将获得最高的隔离级别。在此级别上,从一组可并行执行的事务获得的结果与通过连续运行每个事务所获得的结果相同。由于高度隔离会限制可并行执行的事务数,所以一些应用程序降低隔离级别以换取更大的吞吐量。防止数据丢失持久性  (Duration)(durability)事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。SQL事务处理模型事务有三种模型:  1.隐式事务是指每一条数据操作语句都自动地成为一个事物,每个事务都有显式的开始和结束标记。  2.显式事务是指有显

6、式的开始和结束标记的事物,事务的开始是隐式的,事务的结束有明确的标记。  3.自动事务是系统自动默认的,开始和结束不用标记DBMS并发控制机制的责任:  对并发操作进行正确调度,保证事务的隔离性更一般,确保数据库的一致性。  如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生问题。由于并发操作带来的数据不一致性包括:丢失数据修改、读”脏”数据(脏读)、不可重复读、产生幽灵数据。  (1)丢失数据修改  当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,会发生丢失更新问题。每个事务都不知道其它事务的存在。最后的更新将重写由其它事务所做的更新

7、,这将导致数据丢失。如上例。  再例如,两个编辑人员制作了同一文档的电子复本。每个编辑人员独立地更改其复本,然后保存更改后的复本,这样就覆盖了原始文档。最后保存其更改复本的编辑人员覆盖了第一个编辑人员所做的更改。如果在第一个编辑人员完成之后第二个编辑人员才能进行更改,则可以避免该问题。  (2)读“脏”数据(脏读)  读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被除撤消,而此时T1把已修改过的数据又恢复原值

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。