文档详情

第7章数据库保护技术1.ppt

发布:2017-04-23约1.75千字共45页下载文档
文本预览下载声明
第7章 数据库保护技术;7.1 数据库的安全性及SQL Server的安全管理;7.1.1数据库安全性控制的一般方法;用户标识与鉴别 1)用户输入用户名(用户标识号)来标明用户身份。 2)通过回答口令标识用户身份。 3)通过回答对随机数的运算结果表明用户身份。;存取控制 (1)存取机制的构成 定义用户权限,并将用户权限登记到数据字 典中。 当用户提出操作请求时,系统进行权限检 查,拒绝用户的非法操作。;;;8.1.2 SQL Server的安全体系结构 SQL Server的安全体系结构 Windows NT操作系统的安全防线 SQL Server的运行安全防线 SQL Server数据库的安全防线 SQL Server数据库对象的安全防线;;8.1.3 SQL Server的用户和角色管理 登录的管理 登录(亦称Login用户)通过帐号和口令访问SQL Server的数据库。 (1)查看安全性文件夹的内容;(2) 创建一个登录用户;数据库用户的管理 (1)dbo用户 dbo用户即数据库拥有者或数据库创建者,dbo 在其所拥有的数据库中拥有所有的操作权限。 (2)guest用户 如果guest用户在数据库存在,则允许任意一个 登录用户作为guest用户访问数据库,其中包括那些 不是数据库用户的SQL服务器用户。;(3)创建新的数据库用户 ;;数据库角色的管理 (1)在数据库角色中增加或移去用户;;(2)创建新的数据库角色;;8.1.4 SQL Server的权限管理 SQL Server权限种类:对象权限和语句权限;Transact-SQL;对象权限的管理;;语句权限的管理;;8.2 数据库完整性及SQL Server的完整性控制 8.3 数据库并发控制及SQL Server的并发控制机制 数据库的并发控制就是控制数据库,防止多用 户并发使用数据库时造成数据错误和程序运行错 误,保证数据的完整性。;8.3.1 事务及并发控制的基本概念 事务的概念 事务是用户定义的一个数据库操作序列,这些 操作要么全做要么全不做,是一个不可分割的工作 单位。 在SQL语言中,定义事务的语句有三条: BEGIN TRANSACTION; COMMIT; ROLLBACK;;事务并发操作可能产生的数据不一致问题 ;8.3.2 封锁及封锁协议 封锁是使事务对它要操作的数据有一定的控制 能力。封锁具有3个环节: 一个环节是申请加锁,即事务在操作前要对它 将使用的数据提出加锁请求; 第二个环节是获得锁,即当条件成熟时,系统 允许事务对数据加锁,从而事务获得数据的控制 权; 第三个环节是释放锁,即完成操作后事务放弃 数据的控制权。;锁的类型 排它锁(Exclusive Locks,简称X锁) 排它锁也称为独占锁或写锁。一旦事务T对数据 对象A加上排它锁(X锁),则只允许T读取和修改 A,其他任何事务既不能读取和修改A,也不能再对A 加任何类型的锁,直到T释放A上的锁为止。;;封锁协议 (1)一级封锁协议。 一级封锁协议是事务T在修改数据之前必须先对 其加X锁,直到事务结束才释放。 (2) 二级封锁协议。 二级封锁协议是:事务T对要修改数据必须先加 X锁,直到事务结束才释放X锁;对要读取的数据必 须先加S锁,读完后即可释放S锁。;;;8.3.3 封锁出现的问题及解决方法 活锁和死锁 (1)活锁 在多个事务请求对同一数据封锁时,总是使某 一用户等待的情况称为活锁。解决活锁的方法是采 用先来先服务的方法,即对要求封锁数据的事务排 队,使前面的事务先获得数据的封锁权。;;防死锁通常有两种方法: 1)一次封锁法:要求每个事务必须一次将所有要使用的数据全部加锁,否则该事务不能继续执行。 2)顺序??锁法:预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。;8.4 数据库恢复技术与SQL Server的数据恢复机制 8.4.1 故障的种类 事务内部的故障 系统故障 介质故障 计算机病毒 用户操作错误;;;;
显示全部
相似文档