欢迎来到天天文库
浏览记录
ID:44962612
大小:2.17 MB
页数:77页
时间:2019-11-06
《第8章 SQLServer数据库维护技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据库原理与设计第8章数据库保护及SQLServer的数据库保护技术数据库原理与设计数据库原理与设计第8章数据库保护及SQLServer的数据库保护技术安全控制SQLServer的数据完整性SQLServer的并发控制第4章已经介绍了数据库安全保护的理论与实现手段,本章研究在SQLServer数据库管理系统中具体解决数据库的安全保护问题的技术和方法。安全控制8.1.1SQLServer的安全体系结构和安全认证模式1.SQLServer的安全体系结构SQLServer的安全体系为数据库和应用程序设置了4层安全防线。(1)操作系
2、统的安全防线(2)SQLServer的运行安全防线(3)SQLServer数据库的安全防线(4)SQLServer数据库对象的安全防线2.SQLServer2000安全性控制策略3.SQLServer2000的安全认证模式(1)Windows安全认证模式(2)SQLServer认证模式(3)混合认证模式混合模式下的安全性决策树4.SQLServer2000的安全认证模式设置8.1.2SQLServer的安全性管理1.SQLServer的账号管理(1)SQLServer的默认账号SQLServer有三个默认账号sa、BUILT
3、INAdministrators和guest。(2)SQLServer的账号级别SQLServer的账号分为两级:登录账号和用户账户。(3)使用企业管理器查看、创建、修改登录账号①查看登录账号②创建登录账号(4)使用企业管理器查看、创建、修改用户账号①查看数据库用户账号②创建数据库用户账号创建登录时指定登录用户同时为数据库用户单独创建数据库用户对话框(5)使用系统存储过程管理账号创建和删除登录账户:sp_grantlogin、sp_revokelogin、sp_addlogin、sp_droplogin创建和删除用户账户:
4、sp_grantdbaccess、sp_revokedbaccess、sp_adduser、sp_dropuser更改当前数据库中用户与登录账号之间的关系:sp_change_users_login2.SQLServer的角色管理SQLServer中有服务器角色和数据库角色两种角色。(1)服务器角色服务器角色只包含固定服务器角色,是服务器范围内的角色。这类角色可以在服务器上进行相应的管理操作,完全独立于具体的数据库。固定服务器角色(2)数据库角色①固定数据库角色固定数据库角色信息存储在系统表sysuers中,SQLServe
5、r提供了10种固定数据库角色。固定数据库角色的查看、添加、删除都可以在企业管理器中进行。②用户定义的数据库角色新建数据库角色对话框修改角色权限3.SQLServer权限管理(1)权限的种类SQLServer有3种类型权限:对象权限、语句权限和隐含权限。权限的管理包括授予或废除用户权限。(2)权限的授予、撤销、禁止权限的授予、撤销、禁止可以通过企业管理器实现,也可以通过SQL命令来完成。①使用企业管理器授予、撤销、禁止权限数据库用户和角色的语句权限对话框数据库对象权限对话框②用SQL命令授予、撤销、禁止权限授权语句GRANT格
6、式如下:GRANT权限1[,权限2,…][ON对象类型对象名称]TO用户1[,用户2,…][WITHGRANTOPTION]其中WITHGRANTOPTION选项的作用是允许获得指定权限的用户把权限再授予其他用户。GRANT语句将指定数据对象的指定权限授予指定的用户。禁止权限语句DENY使用DENY语句限制用户或角色的某些权限。这样不仅删除了以前授予用户或角色的某些权限,而且还禁止这些用户或角色从其他角色继承禁止的权限。撤销权限语句REVOKE撤销权限的作用类似于禁止权限,它们都可以删除用户或角色的指定权限。但是撤销权限仅仅
7、删除用户或角色拥有的某些权限,并不禁止用户或角色通过其他方式继承已被撤销的权限。8.2SQLServer的数据完整性8.2.1SQLServer的数据完整性种类SQLServer2000中的数据完整性包括域完整性、实体完整性和参照完整性3种。域完整性为列级和元组级完整性。它为列或列组指定一个有效的数据集,并确定该列是否允许为空值(NULL)。实体完整性为表级完整性,它要求表中所有的元组都应该有一个唯一标识,即主关键字。参照完整性是表级完整性,它维护从表中的外码与主表中主码的相容关系。如果在主表中某一元组被外码参照,那么这个元
8、组既不能被删除,也不能更改其主码。8.2.2SQLServer数据完整性实现方式SQLServer使用声明数据完整性和过程数据完整性两种方式实现数据完整性。声明数据完整性通过在对象定义中定义、系统本身自动强制来实现。声明数据完整性包括各种约束、默认和规则。过程数据完整性通过使用脚本语言(T
此文档下载收益归作者所有