第7章数据库保护技术1.ppt
文本预览下载声明
第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 故障的种类
事务内部的故障
系统故障
介质故障
计算机病毒
用户操作错误;;;;
显示全部