《sqlserver权限管理》由会员分享,可在线阅读,更多相关《sqlserver权限管理(61页珍藏版)》请在金锄头文库上搜索。
1、自强不息 厚德载物第九章第九章权限管理权限管理课程目标课程目标q权限管理策略权限管理策略q用户权限管理用户权限管理权限管理权限管理数数据据库库建建立立之之后后,数数据据的的安安全全就就显显得得尤尤为为重重要要。对对于于一一个个数数据据库库管管理理员员来来说说,安安全全性性就就意意味味着着他他必必须须保保证证那那些些具具有有特特殊殊数数据据访访问问权权限限的的用用户户能能够够登登录录到到SQL Server,并并且且能能够够访访问问数数据据,以以及及对对数数据据库库对对象象实实施施各各种种权权限限范范围围内内的的操操作;同时,他还要防止所有的非授权用户的非法操作。作;同时,他还要防止所有的非授权
2、用户的非法操作。正正基基于于此此,SQL Server提提供供了了既既有有效效又又容容易易的的安安全全管管理理模模式式,这这种种安安全全管管理理模模式式是是建建立立在在安安全全身身份份验验证证和和访访问问许许可可两者机制上的。两者机制上的。1. SQL Server权限管理策略权限管理策略 1. 安全身份验证安全身份验证 2. 访问许可确认访问许可确认 1. 1 安全身份验证安全身份验证 安安全全身身份份验验证证是是用用来来确确认认登登录录SQL Server的的用用户户的的登登录录账账号号和和密密码码的的正正确确性性,由由此此来来验验证证该该用用户户是是否否具具有有连连接接SQL Serve
3、r的的权权限限任任何何用用户户在在使使用用SQL Server数数据据库库之之前前,必必须须经经过过系系统统的的安安全全身身份份验验证证。SQL Server 2005提提供供了了两两种种确确认认用用户户对对数数据据库库引引擎擎服服务务的的验验证证模模式式:Windows身身份份验验证证和和SQL Server身份验证身份验证。1. 1 安全身份验证安全身份验证 Windows身份验证身份验证SQL Server数数据据库库系系统统通通常常运运行行在在Windows服服务务器器平平台台上上,而而Windows作作为为网网络络操操作作系系统统工工程程,本本身身就就具具备备管管理理登登录录、验验证
4、证用用户户合合法法性性的的能能力力,因因此此,Windows验验证证模模式式正正是是利利用用了了这这一一用用户户安安全全性性和和账账号号管管理理的的机机制制,允允许许SQL Server可可以以使使用用Windows的的用用户户名名和和口口令令。在在这这种种模模式式下下,用用户户只只需需要要通通过过Windows的的验验证证,就就可可以以连连接接到到SQL Server,而而SQL Server本身也就不需要管理一套登录数据。本身也就不需要管理一套登录数据。1. 1 安全身份验证安全身份验证 SQL Server身份验证模式身份验证模式允允许许用用户户使使用用SQL Server安安全全性性连
5、连接接到到SQL Server。在在该该认认证证模模式式下下,用用户户在在连连接接SQL Server时时必必须须提提供供登登录录名名和和登登录录密密码码,这这些些登登录录信信息息存存储储在在系系统统表表syslogins中中,与与Windows的的登登录录账账号号无无关关。SQL Server自自身身执执行行认认证证处处理理,如如果果输输入入的的登登录录信信息息与与系系统统表表syslogins中中的的某某条条记记录录相相匹匹配,则表明登录成功。配,则表明登录成功。1. 1 安全身份验证安全身份验证 利用利用SQL Server管理平台可以进行认证模式的设置,其主要过程如下。管理平台可以进行
6、认证模式的设置,其主要过程如下。(1)打开)打开Server管理平台,右键单击要设置认证模式的服务器,从弹出管理平台,右键单击要设置认证模式的服务器,从弹出的快捷菜单中选择的快捷菜单中选择“属性属性”选项,则出现选项,则出现SQL Server属性对话框。属性对话框。(2)在)在SQL Server属性对话框中选择属性对话框中选择“安全性安全性”选项页。选项页。(3)在)在“服务器身份验证服务器身份验证”选项栏中,可以选择要设置的认证模式,同选项栏中,可以选择要设置的认证模式,同时在时在“登录审核登录审核”中还可以选择跟踪记录用户登录时的哪种信息,例中还可以选择跟踪记录用户登录时的哪种信息,例
7、如,登录成功或登录失败的信息等。如,登录成功或登录失败的信息等。(4)在)在“服务器代理账户服务器代理账户”选项栏中设置当启动并运行选项栏中设置当启动并运行SQL Server时,时,默认的登录者中哪一位用户。默认的登录者中哪一位用户。1.2 访问许可确认访问许可确认通过了认证并不代表用户就能访问通过了认证并不代表用户就能访问SQL Server中的数据,同时他还必须通过许可确中的数据,同时他还必须通过许可确认。用户只有在具有访问数据库的权限之后,认。用户只有在具有访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下才能够对服务器上的数据库进行权限许可下的各种操作,这种用户访问数据库权
8、限的设的各种操作,这种用户访问数据库权限的设置是通过用户账号来实现的。置是通过用户账号来实现的。2. 用户权限管理用户权限管理 1. 服务器登录账号和用户账号管理服务器登录账号和用户账号管理2. 许可(权限)管理许可(权限)管理3. 角色管理角色管理 2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理 1SQL Server服务器登录管理服务器登录管理不管使用哪种认证模式,用户都必须先具备有效的用户不管使用哪种认证模式,用户都必须先具备有效的用户登录账号。登录账号。SQL Server有有3个默认的用户登录账号:个默认的用户登录账号:sa:系统管理员(系统管理员(system
9、administrator)的简称,是一)的简称,是一个特殊的用户,在个特殊的用户,在SQL Server系统和所有数据库中拥有系统和所有数据库中拥有所有的权限。所有的权限。BUILTINAdministrators:为每一个为每一个Windows系统管理系统管理员提供的默认的用户账号。这个账号在员提供的默认的用户账号。这个账号在SQL Server系统系统和所有数据库中也拥有所有的权限。和所有数据库中也拥有所有的权限。guest:默认访问系统用户账号。默认访问系统用户账号。2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理 利用利用SQL Server管理平台可以创建、管理管
10、理平台可以创建、管理SQL Server登录账号,其具体执行步骤如登录账号,其具体执行步骤如下:下:(1)打开)打开SQL Server管理平台,单击需管理平台,单击需要登录的服务器左边的要登录的服务器左边的“+”号,然后展号,然后展开安全性文件夹。开安全性文件夹。2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理 (2)右右键键单单击击登登录录名名(login)图图标标,从从弹弹出出的的快快捷捷菜菜单单中中选选择择“新新建建登登录录名名”选选 项项 , 则则 出出 现现SQL Server“登登录录名名新建新建”对话框。对话框。2. 1 服务器登录账号和用户账号管理服务器登录
11、账号和用户账号管理 (3)在在“名名称称”文文本本框框中中输输入入登登录录名名,在在身身份份验验证证选选项项栏栏中中选选择择新新建建的的用用户户账账号号是是Windows认认证模式,或是证模式,或是SQL Server认证模式。认证模式。如如果果正正在在使使用用SQL Server认认证证模模式式,那那么么选选择择“SQL Server身身份份验验证证”单单选选按按钮钮之之后后还还必必须须在在“密密码码”框框中中输输入入密密码码。默默认认设设置置选选项项可可以以选择该账号的默认数据库和默认语言。选择该账号的默认数据库和默认语言。2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理
12、 (4)选择)选择“服务器角色服务器角色”页框。页框。2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理 (5)选择)选择“用户映射用户映射”页框。页框。2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理 (6)选选择择“安安全全对对象象”页框页框 。(7)设设置置完完成成后后,单单击击“确确定定”按按钮钮,即即可可完完成成登登录账号的创建。录账号的创建。2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理 2用户账号管理用户账号管理在数据库中,一个用户或工作组取得合法在数据库中,一个用户或工作组取得合法的登录账号,只表明该账号通过了的登录账号,只
13、表明该账号通过了Windows认证或者认证或者SQL Server认证,但不认证,但不能表明其可以对数据库数据和数据库对象能表明其可以对数据库数据和数据库对象进行某种或者某些操作,只有当他同时拥进行某种或者某些操作,只有当他同时拥有了用户账号后,才能够访问数据库。有了用户账号后,才能够访问数据库。2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理 2用户账号管理用户账号管理在一个数据库中,用户账号唯一标识一个在一个数据库中,用户账号唯一标识一个用户,用户对数据库的访问权限以及对数用户,用户对数据库的访问权限以及对数据库对象的所有关系都是通过用户账号来据库对象的所有关系都是通过用
14、户账号来控制的。控制的。用户账号总是基于数据库的,即两个不同用户账号总是基于数据库的,即两个不同的数据库可以有两个相同的用户账号,并的数据库可以有两个相同的用户账号,并且一个登录账号也总是与一个或多个数据且一个登录账号也总是与一个或多个数据库用户账号相对应的。库用户账号相对应的。 2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理 2用户账号管理用户账号管理guest用用户户被被加加入入到到所所有有数数据据中中,该该用用户户主主要要是是让让那那些些没没有有属属于于自自己己的的用用户户账账号号的的SQL Server登登录录者者作作为为其其默默认认的的用用户户,从从而而使使该该登
15、登录录者者能能够够访访问问具具有有guest用用户户的的数据库。数据库。2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理 利利用用SQL Server管管理理平平台台可可以以授授予予SQL Server登登录录访访问问数数据据库库的的许许可可权权限限。过过程程如下:如下:打打开开SQL Server管管理理平平台台,展展开开要要登登录录的的服服务务器器和和数数据据库库文文件件夹夹,然然后后展展开开要要创创建建用用户户的的数数据据库库及及安安全全文文件件夹夹,右右键键单单击击用用户户图图标标,从从弹弹出出的的快快捷捷菜菜单单中中选选择择“新新建建用用户户”选选项项,则则出出现现
16、“数数据据库库用用户户新新建建”对话框。对话框。2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理 2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理 在在用用户户名名框框内内输输入入数数据据库库用用户户名名称称,在在登登录录名名选选择择框框内内选选择择已已经经创创建建的的登登录录账账号号,然然后后在在下下面面的的数数据据库库角角色色成成员员选选择择框框中中为为该该用用户户选选择择数数据据库库角角色色(关关于于数数据据库库角角色色将将在在下下一一节节中中作作详详细细介介绍绍),最最后后单单击击“确确定定”按钮即可完成数据库用户的创建。按钮即可完成数据库用户的创建
17、。2. 1 服务器登录账号和用户账号管理服务器登录账号和用户账号管理 同同样样,在在SQL Server管管理理平平台台中中,也也可可以以查查看看或或删删除除数数据据库库用用户户,方方法法是是展展开开某某一一数数据据库库,选选中中用用户户图图标标,则则在在右右面面的的页页框框中显示当前的数据库的所有用户。中显示当前的数据库的所有用户。要要删删除除数数据据库库用用户户,则则在在右右面面的的页页框框中中右右键键单单击击所所要要删删除除的的数数据据库库用用户户,从从弹弹出出的的快快捷捷菜菜单单中中选选择择“删删除除”选选项项,则则会会从从当当前前的数据库中删除该数据库用户。的数据库中删除该数据库用户
18、。2. 2 许可(权限)管理许可(权限)管理 许许可可用用来来指指定定授授权权用用户户可可以以使使用用的的数数据据库库对对象象和和这这些些授授权权用用户户可可以以对对这这些些数数据据库库对对象象执行的操作。执行的操作。用用户户在在登登录录到到SQL Server之之后后,其其用用户户账账号号所所归归属属的的Windows组组或或角角色色所所被被赋赋予予的的许许可可(权权限限)决决定定了了该该用用户户能能够够对对哪哪些些数数据据库库对对象象执执行行哪哪种种操操作作,以以及及能能够够访访问问、修改哪些数据。修改哪些数据。 2. 2 许可(权限)管理许可(权限)管理 在在每每个个数数据据库库中中用用
19、户户的的许许可可独独立立于于用用户户账账号号和和用用其其所所长长户户在在数数据据库库中中的的角角色色,每每个个数数据据库库都都有有自自己己独独立立的的许许可可系系统统,在在SQL Server中包括中包括3种类型的许可:种类型的许可:对象许可对象许可语句许可语句许可预定义许可预定义许可 2. 2 许可(权限)管理许可(权限)管理 对对象象许许可可表表示示对对特特定定的的数数据据库库对对象象(即即表表、视视图图、字字段段和和存存储储过过程程)的的操操作作许许可可,它它决决定定了了能能对对表表、视视图图等等数数据据库库对对象象执执行行哪哪些些操操作作。如如果果用用户户想想要要对对某某一一对对象象进
20、进行行操操作,其必须具有相应的操作的权限。作,其必须具有相应的操作的权限。 2. 2 许可(权限)管理许可(权限)管理 语语句句许许可可表表示示对对数数据据库库的的操操作作许许可可,也也就就是是说说,创创建建数数据据库库或或者者创创建建数数据据库库中中的的其其他他内内容容所所需需要要的的许许可可类类型型称称为为语语句句许许可可。这这些些语语句句通通常常是是一一些些具具有有管管理理性性的的操操作作,如如创建数据库、表和存储过程等。创建数据库、表和存储过程等。 2. 2 许可(权限)管理许可(权限)管理 可用于语句许可的可用于语句许可的Transaction_SQL语句如下语句如下:Create
21、database:创建数据库;:创建数据库;Create table:创建表;:创建表;Create view:创建视图;:创建视图;Create rule:创建规则;:创建规则;Create default:创建默认;:创建默认;Create procedure:创建存储过程;:创建存储过程;Create index:创建索引;:创建索引;Backup database:备份数据库;:备份数据库;Backup log:备份事务日志。:备份事务日志。2. 2 许可(权限)管理许可(权限)管理 预预定定义义许许可可是是指指系系统统安安装装以以后后有有些些用用户户和和角角色色不不必必授授权权就就有
22、有许许可可。其其中中的的角角色色包包括括固固定定服服务务器器角角色色和和固固定定数数据据库库角角色色,用用户户包包括括数数据据库库对对象象所所有有者者。只只有有固固定定角角色色或或数数据据库库对对象象所所有有者者的的成成员员才才可可以以执执行行某某些些操操作作。执执行行这这些些操操作作的的许许可可就就称称为为预预定定义义许许可。可。2. 2 许可(权限)管理许可(权限)管理 使用使用SQL Server管理平台管理许可管理平台管理许可SQL Server可通过两种途径:可通过两种途径:面向单一用户的许可设置面向单一用户的许可设置面向数据库对象的许可设置面向数据库对象的许可设置2. 2 许可(权
23、限)管理许可(权限)管理 (1)面向单一用户的许可设置)面向单一用户的许可设置在在SQL Server管理平台中,展开指定的服管理平台中,展开指定的服务器和指定的数据库,然后单击用户图标,务器和指定的数据库,然后单击用户图标,此时在右面的页框中将显示数据库的所有此时在右面的页框中将显示数据库的所有用户。在数据库用户清单中,右键单击要用户。在数据库用户清单中,右键单击要进行许可设置的用户,从弹出的快捷菜单进行许可设置的用户,从弹出的快捷菜单中选择中选择“属性属性”选项,则出现数据库用户选项,则出现数据库用户属性对话框,选择属性对话框,选择“安全对象安全对象”页框。页框。2. 2 许可(权限)管理
24、许可(权限)管理 (1)面向单一用户的许可设置)面向单一用户的许可设置2. 2 许可(权限)管理许可(权限)管理 在该对话框中单击在该对话框中单击“添加添加”按钮,则弹出按钮,则弹出“添加对象添加对象”对话框对话框 2. 2 许可(权限)管理许可(权限)管理 选择对象页框可以显示用户当前数据库中的所选择对象页框可以显示用户当前数据库中的所有对象,其中包括表、视图和存储过程等,同有对象,其中包括表、视图和存储过程等,同时也给出了针对该对象能够进行的操作。时也给出了针对该对象能够进行的操作。 2. 2 许可(权限)管理许可(权限)管理 设置对象权限设置对象权限 2. 2 许可(权限)管理许可(权限
25、)管理 设置列权限设置列权限 2. 2 许可(权限)管理许可(权限)管理 数据库用户属性常规页框数据库用户属性常规页框 2. 2 许可(权限)管理许可(权限)管理 (2)面向数据库对象的许可设置)面向数据库对象的许可设置在在SQL Server管理平台中,展开指定的服管理平台中,展开指定的服务器和指定的数据库,然后选择需要设置务器和指定的数据库,然后选择需要设置的用户对象,即表、视图、存储过程等,的用户对象,即表、视图、存储过程等,在右面的页框中选择要进行许可设置的对在右面的页框中选择要进行许可设置的对象,右键单击该对象,从弹出的快捷菜单象,右键单击该对象,从弹出的快捷菜单中选择中选择“属性属
26、性”选项,出现对象属性对话选项,出现对象属性对话框。框。2.3 角色管理角色管理 角色角色定义了常规的定义了常规的SQL Server用户类别。用户类别。每种角色将该类别的用户与其使用每种角色将该类别的用户与其使用SQL Server时执行的任务集以及成功完成这些时执行的任务集以及成功完成这些任务所需的知识相关联。任务所需的知识相关联。 利用角色,利用角色,SQL Server管理者可以将某管理者可以将某些用户设置为某一角色,这样只要对角色些用户设置为某一角色,这样只要对角色进行权限设置便可以实现对所有用户权限进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。的设置,大大减
27、少了管理员的工作量。2.3 角色管理角色管理 SQL Server提供了用户通常管理工作的预提供了用户通常管理工作的预定义定义服务器角色服务器角色和和数据库角色数据库角色。用户还可。用户还可以创建自己的数据库角色,以便表示某一以创建自己的数据库角色,以便表示某一类进行同样操作的用户。当用户需要执行类进行同样操作的用户。当用户需要执行不同的操作时,只需将该用户加入不同的不同的操作时,只需将该用户加入不同的角色中即可,而不必对该用户反复授权许角色中即可,而不必对该用户反复授权许可和收回许可。可和收回许可。 2.3 角色管理角色管理 1服务器角色服务器角色服务器角色是指根据服务器角色是指根据SQL
28、Server的管理任的管理任务,以及这些任务相对的重要性等级来把务,以及这些任务相对的重要性等级来把具有具有SQL Server管理职能的用户划分为不管理职能的用户划分为不同的用户组,每一组所具有的管理同的用户组,每一组所具有的管理SQL Server的权限都是的权限都是SQL Server内置的,即内置的,即不能对其进行添加、修改和删除,只能向不能对其进行添加、修改和删除,只能向其中加入用户或者其他角色。其中加入用户或者其他角色。2.3 角色管理角色管理 SQL Server 2005提供了提供了8种常用的固定服务器角色。种常用的固定服务器角色。系统管理员(系统管理员(sysadmin):拥
29、有):拥有SQL Server所有的权限许可;所有的权限许可;服务器管理员(服务器管理员(Serveradmin):管理):管理SQL Server服务器端的设置;服务器端的设置;磁盘管理员(磁盘管理员(diskadmin):管理磁盘文件;):管理磁盘文件;进程管理员(进程管理员(processadmin):管理):管理SQL Server系统工程进程;系统工程进程;安全管理员(安全管理员(securityadmin):管理和审核):管理和审核SQL Server系统登录;系统登录;安装管理员(安装管理员(setupadmin):增加、删除连接服务器,建立数据):增加、删除连接服务器,建立数据
30、库复制以及管理扩展存储过程;库复制以及管理扩展存储过程;数据库创建者(数据库创建者(dbcreator):创建数据库,并对数据库进行修改。):创建数据库,并对数据库进行修改。批量数据输入管理员(批量数据输入管理员(bulkadmin):管理同时输入大量数据的操):管理同时输入大量数据的操作。作。2.3 角色管理角色管理 2数据库角色数据库角色数据库角色是为某一用户或某一组用户授数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,库对象的权限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据
31、并且还可以使一个用户具有属于同一数据库的多个角色。库的多个角色。SQL Server提供了两种类型的数据库角色:提供了两种类型的数据库角色:固定的数据库角色固定的数据库角色和和用户自定义的数据库用户自定义的数据库角色角色。2.3 角色管理角色管理 (1)固定的数据库角色)固定的数据库角色固定的数据库角色是指固定的数据库角色是指SQL Server已经定已经定义了这些角色所具有的管理、访问数据库义了这些角色所具有的管理、访问数据库的权限,而且的权限,而且SQL Server管理者不能对其管理者不能对其所具有的权限进行任何修改。所具有的权限进行任何修改。 2.3 角色管理角色管理 SQL Serv
32、er提供了提供了10种常用的固定数据库角色来授予数据库级管理种常用的固定数据库角色来授予数据库级管理员权限。员权限。public:每个数据库用户都属于public数据库角色,当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象的public角色的权限;db_owner:可以执行数据库的所有配置和维护活动;db_accessadmin:可以增加或者删除数据库用户、工作组和角色;db_ddladmin:可以在数据库中运行任何数据定义语言(DDL)命令;db_securityadmin可以修改角色成员身份和管理权限;db_backupoperator可以备份和恢复数据库;d
33、b_datareader:能且仅能对数据库中的任何表执行select操作,从而读取所有表的信息;db_datawriter:能够增加、修改和删除表中的数据,但不能进行select操作;db_denydatareader:不能读取数据库中任何表中的数据;db_denydatawriter:不能对数据库中的任何表执行增加、修改和删除数据操作。2.3 角色管理角色管理 在在固固定定的的数数据据库库角角色色中中,public是是一一个个特特殊殊的的数数据据库库角角色色,数数据据库库中中的的每每个个用用户户都都是是public角角色色中中的的成成员员。在在每每一一个个数数据据库库中中都都包包含含publ
34、ic角角色色,不不能能删删除除public角角色。色。2.3 角色管理角色管理 (2)用户自定义角色)用户自定义角色创建用户定义的数据库角色就是创建一组创建用户定义的数据库角色就是创建一组用户,这些用户具有相同的一组许可。如用户,这些用户具有相同的一组许可。如果一组用户需要执行在果一组用户需要执行在SQL Server中指定中指定的一组操作,并且不存在对应的的一组操作,并且不存在对应的Windows组,或者没有管理组,或者没有管理Windows用户账号的许用户账号的许可,就可以在数据库中建立一个用户自定可,就可以在数据库中建立一个用户自定义的数据库角色。义的数据库角色。用户自定义的数据库角色有
35、两种类型号:用户自定义的数据库角色有两种类型号:标准角色标准角色和和应用程序角色应用程序角色。2.3 角色管理角色管理 标标准准角角色色通通过过对对用用户户权权限限等等级级的的认认定定而而将将用用户户划划分分为为不不用用的的用用户户组组,使使用用户户总总是是相相对对于于一一个个或或多多个个角角色色,从从而而实实现现管管理理的的安安全全性性。所所有有的的固固定定的的数数据据库库角角色色或或SQL Server管管理理者者自自定定义义的的某某一一角角色色都都是是标标准准角色。角色。2.3 角色管理角色管理应应用用程程序序角角色色是是一一种种比比较较特特殊殊的的角角色色。当当我我们们打打算算让让某某
36、些些用用户户只只能能通通过过特特定定的的应应用用程程序序间间接接地地存存取取数数据据库库中中的的数数据据而而不不是是直直接接地地存存取取数数据据库库数数据据时时,就就应应该该考考虑虑使使用用应用程序角色。应用程序角色。当当某某一一用用户户使使用用了了应应用用程程序序角角色色时时,他他便便放放弃弃了了已已被被赋赋予予的的所所有有数数据据库库专专有有权权限限,他他所所拥拥有有的的只只是是应应用用程程序序角角色色被被设设置置的的角角色色。通通过过应应用用程程序序角角色色,能能够够以以可可控控制制方方式来限定用户的语句或者对象许可。式来限定用户的语句或者对象许可。2.3 角色管理角色管理(1)管理服务
37、器角色)管理服务器角色打开打开SQL Server管理平台,展开指定的服管理平台,展开指定的服务器,单击安全性文件夹,然后单击服务务器,单击安全性文件夹,然后单击服务器角色图标,在右边的页框中右键单击所器角色图标,在右边的页框中右键单击所要的角色,从弹出的快捷菜单中选择要的角色,从弹出的快捷菜单中选择“属属性性”选项,则出现服务器角色属性对话框。选项,则出现服务器角色属性对话框。2.3 角色管理角色管理(2)管理数据库角色)管理数据库角色在在SQL Server管理平台中,展开指定的服管理平台中,展开指定的服务器以及指定的数据库,然后展开安全性务器以及指定的数据库,然后展开安全性文件夹,右键单
38、击数据库角色图标,从弹文件夹,右键单击数据库角色图标,从弹出的快捷菜单中选择出的快捷菜单中选择“新建数据库角色新建数据库角色”选项,则出现选项,则出现“数据库角色数据库角色新建新建”对话对话框。框。2.3 角色管理角色管理4使用存储过程管理角色使用存储过程管理角色系统存储过程系统存储过程sp_addsrvrolemember可以可以将某一登录账号加入到服务器角色中,使将某一登录账号加入到服务器角色中,使其成为该服务器角色的成员,其语法形式其成为该服务器角色的成员,其语法形式如下。如下。sp_addsrvrolemember 登录帐号登录帐号,角色名角色名2.3 角色管理角色管理4使用存储过程管
39、理角色使用存储过程管理角色系统存储过程系统存储过程sp_dropsrvrolemember可以可以将某一登录者从某一服务器角色中删除,将某一登录者从某一服务器角色中删除,当该成员从服务器角色中被删除后,便不当该成员从服务器角色中被删除后,便不再具有该服务器角色所设置的权限,其语再具有该服务器角色所设置的权限,其语法形式如下。法形式如下。sp_dropsrvrolememberloginame= 登登录帐号录帐号,rolename=角色名角色名2.3 角色管理角色管理4使用存储过程管理角色使用存储过程管理角色create role用来创建一个新的数据库角色,用来创建一个新的数据库角色,此命令用于
40、替换以前版本的此命令用于替换以前版本的sp_addrole。create role role_nameAUTHORIZATION owner_name2.3 角色管理角色管理4使用存储过程管理角色使用存储过程管理角色droprole用于从当前数据库角色中删除一用于从当前数据库角色中删除一个数据库角色,此命令用于替换以前版本个数据库角色,此命令用于替换以前版本的的sp_addrole。Droprole 的语法形式如下。的语法形式如下。Drop role 角色名角色名2.3 角色管理角色管理4使用存储过程管理角色使用存储过程管理角色Sp_helprole用来显示当前数据库中所有数用来显示当前数据库
41、中所有数据库角色的全部信息,其语法形式如下。据库角色的全部信息,其语法形式如下。 Sp_helprole 角色名角色名2.3 角色管理角色管理4使用存储过程管理角色使用存储过程管理角色sp_addrolemember:用来向数据库某一角:用来向数据库某一角色中添加数据库用户,这些角色可以是用色中添加数据库用户,这些角色可以是用户自定义的标准角色,也可以是固定的数户自定义的标准角色,也可以是固定的数据库角色,但不能是应用程序角色,其语据库角色,但不能是应用程序角色,其语法形式如下。法形式如下。sp_addrolemember 角色名角色名,用户名用户名2.3 角色管理角色管理4使用存储过程管理角
42、色使用存储过程管理角色sp_droprolemember:用来删除某一角色:用来删除某一角色的用户,其语法形式如下。的用户,其语法形式如下。sp_droprolemember 角色名角色名,用户名用户名2.3 角色管理角色管理4使用存储过程管理角色使用存储过程管理角色sp_helprolemember:用于显示某一数据:用于显示某一数据库角色的所有成员,其语法形式如下。库角色的所有成员,其语法形式如下。sp_helprolemember 角色名角色名本章小结本章小结本章主要介绍权限的管理。本章主要介绍权限的管理。SQL Server提供了既有效又容易的安全提供了既有效又容易的安全管理模式,这种安全管理模式是建立在管理模式,这种安全管理模式是建立在安全身份验证和访问许可两者机制上的。安全身份验证和访问许可两者机制上的。