第9章 SQL Server的权限管理与代理服务

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第9章SQLServer的权限管理与代理服务本章内容:SQLServer2000的安全机制;创建和管理登录账户;数据库用户的管理;权限的概念及管理;角色的管理;SQLServer的代理服务与作业;9.1SQLServer2000的安全机制SQLServer2000的安全性管理是建立在认证(authentication)和访问许可(permission)两者机制上的。在SQLServer的安全模型中包括以下几部分:•SQLServer登录•数据库用户•权限•角色9.1.1SQLServer登录认证简介1.WINDOWS认证模式NT作为网络操作系统本身就具备管理登录验证用户合法性的能力,所以WINDOWS认证模式正是利用这一用户安全性和账号管理的机制允许SQLServer也可以使用NT的用户名和口令。在该模式下,用户只要通过WINDOWS的认证就可连接到SQLServer,而SQLServer本身也没有必要管理一套登录数据。2.混合认证模式在混合认证模式下WINDOWS认证和SQLServer认证这两种认证模式都是可用的,NT的用户既可以使用NT认证,也可以使用SQLServer认证9.1.2SQLServer认证模式设置9.2管理SQLServer登录9.2.1用企业管理器管理SQLServer登录9.2.2使用T-SQL管理SQLServer登录1.sp_addlogin创建新的使用SQLServer认证模式的登录账号,其语法格式为:sp_addlogin‘登录名称’,‘登录密码’,‘默认数据库’,‘默认语言’2.sp_droploginSQLServer中删除该登录账号,禁止其访问SQLServer其语法格式为:sp_droplogin‘登录名称’3.sp_grantlogin设定一WINDOWSNT用户或用户组为SQLServer登录者,其语法格式为:sp_grantlogin'登录名称'4.sp_denylogin拒绝某一NT用户或用户组连接到SQLServer,其命令格式为:sp_grantlogin‘登录名称’5.sp_revokelogin用来删除NT用户或用户组在SQLServer上的登录信息,其语法格式为:sp_revokelogin‘登录名称’6.sp_helploginssp_helplogins用来显示SQLServer所有登录者的信息,包括每一个数据库里与该登录者相对应的用户名称。其语法格式为:sp_helplogins'登录名称'9.3数据库的用户9.3.1数据库用户简介数据库用户用来指出哪一个人可以访问哪一个数据库。在一个数据库中用户ID惟一标识一个用户,用户对数据的访问权限以及对数据库对象的所有关系都是通过用户账号来控制的。用户账号总是基于数据库的,即两个不同数据库中可以有两个相同的用户账号。9.3.2管理数据库用户1.利用企业管理器管理数据库用户2.利用系统过程管理数据库用户(1)创建新数据库用户其语法格式为:sp_grantdbaccess‘登录账号名称’,‘用户账号名称’(2)删除数据库用户语法格式为:sp_revokedbaccess‘用户账号名称’(3)查看数据库用户信息语法格式为:sp_helpuser'用户账号名称'9.4权限管理9.4.1权限管理简介1.对象权限对象操作表SELECTINSERTUPDATEDELETEREFERENCE视图SELECTUPDATEINSERTDELETE存储过程EXECUTE列SELECTUPDATE2.语句权限语句权限主要指用户是否具有权限来执行某一语句,这些语句通常是一些具有管理性的操作,如创建数据库、表、存储过程等。lGRANT用来把权限授予某一用户,以允许该用户执行针对该对象的操作(如UPDATE、SELECT、DELETE、EXECUTE)或允许其运行某些语句(如CREATETABLE、CRETAEDATABASE);lREVOKE取消用户对某一对象或语句的权限,这些权限是经过GRANT语句授予的不允许该用户执行针对数据库对象的某些操作(如UPDATE、SELECT、DELETE、EXECUTE)或不允许其运行某些语句(如CREATETABLE、CREATEDATABASEDENY用来禁止用户对某一对象或语句的权限,明确禁止其对某一用户对象执行某些操作(如UPDATE、SELECT、DELETE、EXECUTE)或运行某些语句(如CREATETABLE、CREATEDATABASE)。管理语句权限命令的语法规则如下:GRANT语句名称[,…n]TO用户账户名称[,…n]DENY语句名称[,…n]TO用户账户名称[,…n]REVOKE语句名称[,…n]TO用户账户名称[,…n]管理对象权限的语法命令如下:GRANT权限名称[,…n]ON表名|视图名|存储过程名TO用户账户名称DENY权限名称[,…n]ON表名|视图名|存储过程名TO用户账户名称REVOKE权限名称[,…n]ON表名|视图名|存储过程名FROM用户账户名称9.4.2利用企业管理器管理权限1.面向单一用户的权限设置2.面向数据库对象的权限设置9.5角色管理9.5.1角色管理简介在SQLServer中主要有两种角色类型:服务器角色与数据库角色。1.服务器角色服务器角色是指根据SQLServer的管理任务,以及这些任务相对的重要性等级,来把具有SQLServer管理职能的用户划分成不同的用户组,每一组所具有管理SQLServer的权限已被预定义服务器角色,适用在服务器范围内并且其权限不能被修改。2.数据库角色SQLServer提供了两种数据库角色:类型预定义的数据库角色;用户自定义的数据库角色。1)预定义数据库角色预定义数据库角色是指这些角色所有具有的管理、访问数据库权限已被SQLServer定义,并且SQLServer管理者不能对其所具有的权限进行任何修改。2)用户自定义的数据库角色9.5.2角色的管理1.管理服务器角色使用企业管理器查看服务器角色使用存储过程管理服务器角色sp_addsrvrolemember是将某一登录加入到服务器角色内,使其成为该角色的成员。其语法格式为:sp_addsrvrolemember'登录者名称','服务器角色'sp_dropsrvrrolemember用来将某一登录者从某一服务器角色中删除,当该成员从服务器角色中被删除后,便不再具有该服务器角色所设置的权限。其语法格式为:sp_dropsrvrolemember'登录者名称','服务器角色'2、管理数据库角色使用企业管理器创建数据库角色使用存储过程管理数据库角色sp_addrole系统存储过程是用来创建新数据库角色。语法格式为:sp_addrole'要创建的数据库角色名称','数据库角色的所有者'sp_droprole用来删除数据库中某一自定义的数据库角色,其语法格式为:sp_droprole'要删除的数据库角色名称'sp_helprole用来显示当前数据库所有的数据库角色的全部信息,其语法格式为:sp_helprole‘预定义的数据库角色’sp_addrolemember用来向数据库某一角色中添加数据库用户,这些角色可是用户自定义的标准角色,也可以是预定义的数据库角色,但不能是应用角色。其语法格式为:sp_addrolemember'数据库角色','数据库用户角色或NT用户或用户组'9.6配置SQLServer代理服务SQLServer代理服务是一个任务规划器和警报管理器,负责SQLServer中的自动化工作。代理以Windows服务形式运行,负责执行安排的任务。在实际应用环境下,通过它可以将那些周期性的活动定义成一个任务,而让其在SQLServer代理帮助下自动运行。系统管理员还可以利用SQLServer代理通知一些警告信息来定位出现的问题,从而提高管理效率。SQLServerAgent主要包括以下几个组件:作业、警报和操作。9.7定义操作员操作员是指接收由SQLServer代理发送来的消息的对象。在SQLServer中可以通过邮件寻呼或网络传送来把警报消息通知给操作员,从而让其了解系统处于哪种状态或发生了什么事件。9.8作业作业是指被定义的多步执行的任务,每一步都是可能执行的T-SQL语句代表一个任务作业。是典型的规划任务和自动执行任务,数据库的备份和恢复,数据的复制,数据的导入/导出等都可以被定义成作业,然后在规划的时间由SQLServer代理来自动完成。9.9警报在SQLServer中通过警报管理器定义警报,当某些特定的事件发生时会自动报警。当警报被触发时,通过电子邮件或寻呼通知操作员,从而让操作员了解系统中发生了什么事件,比如,数据库使用空间不够了,或事务日志已满。SQLServer产生的错误信息事件都会被记入WindowsNT的应用日志,SQLServer读取日志并与已定义了警报的事件相比较,如果匹配,则将触发警报。在SQLServer中利用警报管理器可创建二种类型的警报:事件警报和性能状况警报。9.9.1创建事件警报9.9.2创建性能警报性能警报是指当某一性能指数超过预定义的性能阈值时,性能警报就会被触发,通过在性能警报中定义的电子邮件或寻呼,就可以把相应的警告信息通知给管理员。

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功