数据库安全及维护
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安徽新华电脑专修第学十院一讲 SQL Server权限管理
三种事务运行模式
1、自动提交事务(默认事务管理模式) 每条单独的语句都是一个事务。每个语句后都隐含一
个COMMIT。 2、显式事务 以BEGIN TRANSACTION显式开始,以COMMIT或
ROLLBACK显式结束。 3、隐性事务 在前一个事务完成时,新事务隐式启动,但每个事务
丢失修改(Lost Update)
丢失更新: 两个事务T1和T2读入同一数据并修改,T2提交的结
果破坏了T1提交的结果,导致T1的修改被丢失。
安徽新华电脑专修第学十院一讲 SQL Server权限管理
ห้องสมุดไป่ตู้
安徽新华电脑专修第学十院一讲 SQL Server权限管理
脏读(Dirty Read)
事务T1修改某一数据,并将其写回磁盘,事务T2读取同 一数据后,T1由于某种原因被撤消,这时T1已修改过的数据 恢复原值,T2读到的数据就与数据库中的数据不一致,则T2 读到的数据就为“脏”数据。
学习目标
学习完本课程,您应该能够:
✓事务的概念和ACID特性 ✓并发操作带来数据的不一致性问题 ✓封锁是实现并发控制的一个非常重要的技术
安徽新华电脑专修第学十院一讲 SQL Server权限管理
知识重、难点分析
重点:
✓ 事务的概念和ACID特性 ✓ 并发操作带来数据的不一致性问题
难点:
✓ 封锁是实现并发控制的一个非常重要的技术
银行转帐:事务T从A帐户过户50¥到B帐户。 T: Read(A); A=A-50; Write(A); Read(B); B=B+50; Write(B);
Read(X):从数据库传送数据项X到事务的工作区中。 Write(X):从事务的工作区中将数据项X回写到数据库。 这个工作不能只完成一部分,它必须满足原子性。
仍以COMMIT或ROLLBACK显式结束。
安徽新华电脑专修第学十院一讲 SQL Server权限管理
事务的特性(ACID特性)
1) 原子性(Atomicity) 事务是数据库的逻辑工作单位,事务中包括的诸操
作要么全做,要么全不做。 2) 一致性(Consistency) 事务执行的结果必须是使数据库从一个一致性状态
变到另一个一致性状态。一致性与原子性是密切相关的。 3) 隔离性(Isolation) 一个事务的执行不能被其他事务干扰。 4) 持续性/永久性(Durability) 一个事务一旦提交,它对数据库中数据的改变就应
该是永久性的。
安徽新华电脑专修第学十院一讲 SQL Server权限管理
1) 原子性(Atomicity)
如银行转帐,转帐前后两个帐户金额之和应保持不变。
安徽新华电脑专修第学十院一讲 SQL Server权限管理
3) 隔离性(Isolation)
一个事务的执行不能被其他事务干扰。 事务查看数据时数据所处的状态,要么是另一并发事务 修改它以前的状态,要么是另一并发事务修改它以后的状态, 事务不会查看中间状态的数据。这称为可串行性。 对任何一对事务T1,T2,在T1看来,T2要么在T1开始之 前已经结束,要么在T1完成之后再开始执行。
插入一条记录 – Delete 学生表 – Where 学号='200308003' --删除记录 – Rollback Tran Mytran --回滚事务 – Commit Tran – Go – Select * – From 学生表
安徽新华电脑专修第学十院一讲 SQL Server权限管理
事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。 COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中 所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。 ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务 不能继续进行,系统将事务中对数据库的所有以完成的操作全部撤消,滚 回到事务开始的状态。
安徽新华电脑专修第学十院一讲 SQL Server权限管理
数据库安全及维护
安徽新华电脑专修第学十院一讲 SQL Server权限管理
引入
事务(Transaction)是并发控制的基本单位。 通过事务,SQL Server能将逻辑相关的一组操作 绑定在一起,以便服务器保持数据的完整性。
安徽新华电脑专修第学十院一讲 SQL Server权限管理
安徽新华电脑专修第学十院一讲 SQL Server权限管理
事务
一、基本概念 1.事务
事务(Transaction)是并发控制的单位,是用户定义的一个操作 序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。
在SQL语言中,定义事务的语句有: BEGIN TRANSACTION COMMIT ROLLBACK
活动状态 初始状态
部分 提交状态
最后一条语 句被执行后
提交状态
成功完成,永久 写入数据库
失败状态
中止状态
事务无法继续 正常运行
事务回滚,数据库恢 复到事务开始状态
安徽新华电脑专修第学十院一讲 SQL Server权限管理
– Use 学生管理数据库 – Go – Begin Tran Mytran --启动事务 – Insert into 学生表 – Values('200308003','李四','男','计算机','软件2班',22) --
安徽新华电脑专修第学十院一讲 SQL Server权限管理
2) 一致性(Consistency)
事务执行的结果必须是使数据库从一个一致性状态变到 另一个一致性状态。
当数据库只包含成功事务提交的结果时,就说明数据库 处于一致状态。如果数据库系统运行中发生故障,有些事务 尚未完成就被迫中断,系统将事务中对数据库的所有已完成 的操作全部撤消,滚回到事务开始的一致状态。
安徽新华电脑专修第学十院一讲 SQL Server权限管理
4) 持续性/永久性(Durability
一个事务一旦提交,它对数据库中数据的改变就应该是 永久性的。接下来的其他操作或故障不应该对其执行结果有 任何影响。
系统发生故障不能改变事务的持久性。
安徽新华电脑专修第学十院一讲 SQL Server权限管理