《SQL Server数据库应用开发技术》课件第十一章_第1页
《SQL Server数据库应用开发技术》课件第十一章_第2页
《SQL Server数据库应用开发技术》课件第十一章_第3页
《SQL Server数据库应用开发技术》课件第十一章_第4页
《SQL Server数据库应用开发技术》课件第十一章_第5页
已阅读5页,还剩70页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章

数据库安全管理知识技能目标:

1.理解SQLServer2005安全机制和身份验证模式2.掌握服务器登录帐号的创建和删除3.掌握数据库用户的创建和删除4.理解角色概念,掌握服务器角色和数据库角色的管理5.掌握权限的授予、拒绝和废除

引导案例:

教务管理数据库建立起来后,可供学生、教师和教务人员等不同用户来访问。现在的重要问题是,如何保证只有合法的学生、教师和教务人员才能访问教务管理数据库,并且不同的用户只能进行自己权限范围内的访问操作,比如学生只能查看成绩,不能修改成绩等。这就需要进行数据库安全管理,以保证数据库中数据的安全。本章介绍实现数据安全保证的技术。第11章

数据库安全管理第11章

数据库安全管理11.1SQLServer2005的安全机制11.2SQLServer2005的身份验证模式11.3服务器登录管理11.4数据库用户管理11.5角色管理

11.6权限管理小结11.1SQLServer2005的安全机制 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。系统安全保护措施是否有效是数据库系统的主要指标之一。 SQLServer2005按照访问的范围把访问实体化分为三大类的安全对象:服务器级数据库级模式级 SQLServer2005的安全是建立在权限和认证两种机制之上。每个用户在访问SQLServer数据库时,都必须经过两个安全验证阶段: 第一阶段:身份验证 第二阶段:权限验证。返回目录11.2SQLServer2005的身份验证模式11.2.1验证模式 安全身份验证用来确认登录SQLServer的用户的登录帐号和密码的正确性,由此来验证该用户是否具有连接SQLServer的权限。任何用户在使用SQLServer数据库之前,必须经过系统的安全身份验证。 SQLServer2005的身份验证模式有两种: (1)Windows验证模式 使用Windows身份验证模式是默认的身份验证模式,在Windows验证模式下,用户只需要通过Windows的验证,就可以连接到SQLServer,而SQLServer本身也不需要管理这些登录数据,但需要在indows服务器中为使用者创建用户。

返回目录11.2SQLServer2005的身份验证模式11.2.1验证模式

(2)混合验证模式 使用混合模式时,无论是使用Windows身份验证方式的用户,还是使用SQLServer身份验证方式的用户,都可以连接到SQLServer系统上。 使用混合验证模式中的SQLServer身份验证方式时,系统管理员创建一个登录账户和口令,并将它们存储在SQLServer中,当用户连接到SQLServer上时,必须提供SQLServer登录账户和口令。返回目录11.2SQLServer2005的身份验证模式11.2.2设置验证模式 利用SQLServerManagementStudio可以进行认证模式的设置,步骤如下:(1)打开SQLServerManagementStudio,右击要设置验证模式的服务器,从弹出的快捷菜单中选择“属性”选项,则出现服务器属性对话框。(2)在服务器属性对话框中选择“安全性”选项页。(3)在“服务器身份验证”选项栏中,可以选择要设置的验证模式,同时在“登录审核”中还可以选择跟踪记录用户登录时的哪种信息,例如登录成功或登录失败的信息等。返回目录11.2SQLServer2005的身份验证模式11.2.2设置验证模式

(4)在“服务器代理帐户”选项栏中设置当启动并运行SQLServer时,默认的登录者是哪一位用户。(5)单击“确定”按钮完成验证模式的设置返回目录11.3服务器登录管理11.3.1系统管理员登录账户

SQLServer有两个默认的系统管理员登录帐户: sa BUILTIN\Administrators

这两个登录帐户具有SQLServer系统和所有数据库的全部权限。 sa是一个特殊的登录名,它代表混合验证机制下SQLServer的系统管理员,sa始终关联数据库用户dbo。 BUILTIN\Administrators是NT系统的系统管理员组。返回目录11.3服务器登录管理11.3.1系统管理员登录账户

系统管理员具有如下管理功能:创建登录账户;配置服务器;创建、删除数据库;无须考虑所有权和权限,可以操作各种数据库对象;停止、启动服务器;停止在服务器上运行的无效过程;某些权限只能被系统管理员拥有并且不能被授予其他用户;这些功能是管理存储空间,管理用户进程及改变数据库选项。返回目录11.3服务器登录管理11.3.2Windows组或用户登录管理1.将Windows组或用户映射成SQLServer的登录帐户 命令格式:

sp_grantlogin<域名\用户名>|<域名\组名>说明:<域名\用户名>:为WindowsNT用户创建一个登录账户。<域名\组名>:为指定的组建立一个登录账户。该组中每个成员都能连接到SQLServer上。

【例11.1】将WindowsXP中的本地组users映射成SQLServer的登录帐户。返回目录11.3服务器登录管理11.3.2Windows组或用户登录管理2.禁止指定的WindowsNT用户或组连接SQLServer服务器 命令格式:

sp_denylogin<域名\用户名>|<域名\组名>

【例11.2】禁止本地计算机中用户组Users中的用户登录权限。返回目录11.3服务器登录管理11.3.2Windows组或用户登录管理3.撤销WindowsNT用户或组和SQLServer帐户的映射

命令格式:

sp_revokelogin<域名\用户名>|<域名\组名>说明: 撤销WindowsNT用户或组与SQLServer账户的映射,不会删除WindowsNT组或用户。【例11.3】撤销本地计算机中用户组Users与SQLServer账户的映射。返回目录11.3服务器登录管理11.3.3创建登录账户1.使用SQLServerManagementStudio创建登录帐户【例11.4】创建以SQLServer身份认证的登陆帐户1)打开SQLServerManagementStudio。2)在“对象资源管理器中”展开服务器。3)展开“安全性”,右击“登录名”,然后选择“新建登录名”选项,打开“登录名-新建”窗口。4)在“登录名”文本框中输入登录名,这里输入“LOGIN_01”。

5)选中“SQLServer身份验证”复选框。6)在“密码“文本框中输入密码,这里输入”001”。7)在“确认密码”文本框中输入确认密码,这里输入“001”。返回目录11.3服务器登录管理11.3.3创建登录账户1.使用SQLServerManagementStudio创建登录帐户【例11.4】创建以SQLServer身份认证的登陆帐户

8)取消“强制实施密码策略”复选框中选中状态。

实施密码复杂性策略时,使在WindowsServer2003或更高版本环境下运行SQLServer2005时,可以使用Windows密码策略机制。9)“默认数据库”和“默认语言”保持系统提供的默认值。10)在左上角的“选择页”列表中选中“用户映射”,然后在出现的“登录属性”对话中选中“教务管理数据库”,在“教务管理数据库”中选中“db_owner和“public”。这样login_01拥有“教务管理数据库”的所有操作权限。返回目录11.3服务器登录管理11.3.3创建登录账户1.使用SQLServerManagementStudio创建登录帐户【例11.4】创建以SQLServer身份认证的登陆帐户

11)在左上角的“选择页”列表中选中“状态”,将“是否允许连接到数据库引擎”设置为“授予”,“登录”设置为“启用”。12)单击“确定”按钮完成操作。返回目录11.3服务器登录管理11.3.3创建登录账户1.使用SQLServerManagementStudio创建登录帐户【例11.5】创建以Windows身份认证的登录账户1)在Windows下创建一个名为“Win_login_01”,密码为“w001”的用户。2)打开SQLServerManagementStudio。3)在“对象资源管理器中”展开服务器。4)展开“安全性”,右键单击“登录名”,然后选择“新建登录名”选项,打开如图11.5所示的“登录名-新建”窗口。5)单击“登录名”文本框右边的“搜索”按钮,打开如图11.6所示的“选择用户或组”对话框。返回目录11.3服务器登录管理11.3.3创建登录账户1.使用SQLServerManagementStudio创建登录帐户【例11.5】创建以Windows身份认证的登录账户6)单击“高级”按钮,再单击“立即查找”按钮,打开如图11.7所示的对话框。7)在搜索结果中找到名为“Win_login_01”的用户,选中后单击“确定”按钮,返回到“选择用户或组”对话框。8)在“选择用户或组”对话框中单击“确定”按钮,返回“新建-用户”对话框。9)单击“确定”按钮完成创建。返回目录11.3服务器登录管理11.3.3创建登录账户2.用T-SQL语句创建登录帐户命令格式: CREATELOGIN登录帐户

<WITHPASSWORD=口令>|<FROMWINDOWS>说明:

<WITHPASSWORD=口令>:创建SQLSERVER身份认证的登录账户。 <FROMWINDOWS>:创建WINDOWS身份认证的登录账户。【例11.6】使用T-SQL语句创建一个以SQLServer身份认证的登录账户,登录账户名为“login_02”,密码为“002”。

【例11.7】使用T-SQL语句创建一个以Windows身份认证的登录账户,登录账户名为“win_login_02”(假设计算机名为“SERVER”)。返回目录11.3服务器登录管理11.3.4查看登录帐户 使用SQLServerManagementStudio可以查看已经创建的登录帐户及每个登录帐户的身份验证模式、服务器角色、用户映射、状态等信息。 方法如下: 1)打开SQLServerManagementStudio。 2)在“对象资源管理器中”展开服务器。 3)展开“安全性”,再展开“登录名”,便显示了已经创建的所有登录帐户。 4)双击登录帐户,可以查看每个登录帐户的身份验证模式、服务器角色、用户映射、状态等信息。返回目录11.3服务器登录管理11.3.5删除登录账户

1.使用SQLServerManagementStudio删除登录帐户

1)打开SQLServerManagementStudio。2)在“对象资源管理器中”展开服务器。3)展开“安全性”,再展开“登录名”,便显示了已经创建的所有登录帐户。4)右击要删除的登录帐号,如选择“login_02”,在弹出的快捷菜单中选择“删除”选项。5)单击“确定”按钮完成删除。返回目录11.3服务器登录管理11.3.5删除登录账户

2.用T-SQL语句删除登录帐户 命令格式: DROPLOGIN登录账户

【例11.8】使用T-SQL语句删除“win_login_02”的登录账户(假设计算机名为“SERVER”)。

返回目录11.4数据库用户管理11.4.1数据库用户与服务器登录账户的关系 在SQLServer2005中有两种帐户,一种是登录服务器的登录帐户,另外一种是数据库用户。 服务器登录帐户只是让用户登录到SQLServer中,登录帐户本身不能让用户访问服务器中的数据库。要访问特定的数据库,它必须与一个有效的数据库用户相关联。 数据库用户是在特定的数据库内创建,并关联一个登录帐户(当创建一个数据库用户时,必须关联一个登录帐户)。通过授权给数据库用户来指定用户可以访问数据库对象的权限。返回目录11.4数据库用户管理11.4.2创建数据库用户1.使用SQLServerManagementStudio创建数据库用户1)打开SQLServerManagementStudio。2)在

SQLServerManagementStudio中,打开对象资源管理器,然后展开“数据库”文件夹。3)再展开要在其中创建新数据库用户的数据库。这里展开的是“教务管理数据库”。4)右键单击“安全性”文件夹,指向“新建”,再单击“用户”。返回目录11.4数据库用户管理11.4.2创建数据库用户1.使用SQLServerManagementStudio创建数据库用户5)在“用户名”文本框中输入新数据库用户的名称。这是输入的用户名为“db_user01”6)在“登录名”框中,输入要映射到数据库用户的

SQLServer登录名的名称。这是输入的是“login_01”。7)单击“确定”按钮完成数据库用户的创建。返回目录11.4数据库用户管理11.4.2创建数据库用户2.用T-SQL语句创建数据库用户 语法格式: CREATEUSER用户名

FORLOGIN登录帐户

【例11.9】使用T-SQL语句创建一个数据库用户,数据库用户名为“db_user02”。映射到此数据库用户的

SQLServer登录帐户为“SERVER\win_login_01”(SERVER为计算机名)返回目录11.4数据库用户管理11.4.3查看数据库用户 使用SQLServerManagementStudio可以查看已经创建的数据用户及每个数据库用户相关联的登录帐户、所属的数据库角色、安全对象等信息。1)打开SQLServerManagementStudio。2)在

SQLServerManagementStudio中,打开对象资源管理器,然后展开“数据库”文件夹。3)展开要查看的数据库用户的数据库。4)展开“安全性”,再展开“登录名”,便显示了已经创建的所有数据库用户。5)双击每个数据库用户,便可以查看此数据库用户相关联的登录帐户、所属的数据库角色、安全对象等信息。返回目录11.4数据库用户管理11.4.4删除数据库用户1.使用SQLServerManagementStudio删除数据库用户1)打开SQLServerManagementStudio。2)在

SQLServerManagementStudio中,打开对象资源管理器,然后展开“数据库”文件夹。3)再展开要在其中删除的数据库用户的数据库。这里展开的是“教务管理数据库”。4)展开“安全性”,再展开“登录名”,便显示了已经创建的所有数据库用户。5)右击要删除的登录帐号,此时选择“Dbuser01”,在弹出的快捷菜单中选择“删除”选项。6)单击“确定”按钮完成删除。返回目录11.4数据库用户管理11.4.4删除数据库用户2.用T-SQL语句删除数据库用户 语法格式: DROPUSER数据库用户名

【例11.10】使用T-SQL语句删除例11.9创建的“db_user02”数据库用户名返回目录11.5角色管理

角色是一个强大的管理工具,通过角色可以将用户集中到一个单元中,然后对该单元应用权限。对一个角色授予、拒绝或废除权限适用于该角色的任何成员。这就为权限管理带来了便利。在SQLServer2005中,角色分为服务器角色和数据库角色,下面分别介绍。返回目录11.5角色管理

11.5.1服务器角色

服务器角色是预定义角色,角色的种类和每个角色的权限都是固定的,不能更改,也不能删除,只能为其添加成员或删除成员。 下表列出了SQLServer2005的固定服务角色,它们存在于数据库之外,其作用域在服务器范围内。返回目录11.5角色管理

11.5.1服务器角色固定服务器角色权

限sysadmin执行SQLServer中的任何活动。

serveradmin配置服务器范围的设置,关闭服务器setupadmin添加和删除链接服务器,并执行某些系统存储过程(如

sp_serveroption)。securityadmin管理服务器登录和

CREATEDATABASE权限,还可以读取错误日志和更改密码processadmin管理在

SQLServer实例中运行的进程dbcreator创建、改变和除去数据库diskadmin管理磁盘文件bulkadmin执行

BULKINSERT语句返回目录11.5角色管理

11.5.1服务器角色 固定服务器角色的成员是服务器登录账户。固定服务器角色的每个成员能够向该角色中添加其他登录账户。

注意:

属于Windows2000/2003Administrators组的账户,在SQLServer2005中被自动设置为sysadmin服务器角色成员。返回目录11.5角色管理

11.5.2将登录账户添加为服务器角色成员1.使用SQLServerManagementStudio添加服务器角色成员1)打开SQLServerManagementStudio。2)在

SQLServerManagementStudio中,打开对象资源管理器,然后展开““安全性””文件夹。4)展开“安全性”,再展开“服务器角色”,便显示了固定服务器角色。5)右击要添加登录帐号的服务器角色,此时选择“sysadmin”角色,在弹出的快捷菜单中选择“属性”选项。打开“服务器角色属性”窗口。返回目录11.5角色管理

11.5.2将登录账户添加为服务器角色成员1.使用SQLServerManagementStudio添加服务器角色成员6)在“服务器角色属性”窗口中,单击“添加”按钮,打开“选择登录名”窗口。7)在“选择登录名”窗口中单击“浏览”按钮,便打开“查找对象”窗口。8)在“查找对象”窗口中,选择登录名,这里选择的是“login_01”登录账户,单击“确定”按钮返回“选择登录名”窗口,再单击“确定”按钮,返回到“服务器角色属性”窗口。9)在“服务器角色属性”窗口中单击“确定”按钮完成添加。返回目录11.5角色管理

11.5.2将登录账户添加为服务器角色成员2.用T-SQL语句添加服务器角色成员 语法格式: SP_ADDSRVROLEMEMBER'登录帐号','服务器角色'

【例11.11】使用T-SQL语句将登录账户“SERVER\win_login_01”添加为“sysadmin”服务器角色成员。返回目录11.5角色管理

11.5.3从服务器角色中删除成员1.使用SQLServerManagementStudio删除服务器角色成员1)打开SQLServerManagementStudio2)在

SQLServerManagementStudio中,打开对象资源管理器,然后展开““安全性”文件夹。4)展开“安全性”,再展开“服务器角色”,便显示了固定服务器角色。5)右击要删除成员的服务器角色,此时选择“sysadmin”角色,在弹出的快捷菜单中选择“属性”选项,便打开“服务器角色属性”窗口。6)在“服务器角色属性”窗口中选择要删除的角色成员,这里选择“SERVER\win_login_01”,单击“删除”按钮,再单“确定”按钮返回目录11.5角色管理

11.5.3从服务器角色中删除成员2.用T-SQL语句删除服务器角色成员 语法格式: SP_DROPSRVROLEMEMBER'登录帐号','服务器角色'

【例11.12】使用T-SQL语句将登录账户“login_01”从“sysadmin”服务器角色成员中删除。返回目录11.5角色管理

11.5.4数据库角色 数据库角色在数库级别定义,数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以使一个用户属于同一数据库的多个角色。 SQLServer提供了两种类型的数据库角色: 标准数据库角色 应用程序角色返回目录11.5角色管理

11.5.4数据库角色(1)标准数据库角色 标准数据库角色通过对用户权限等级的认定而将用户划分为不同的用户组,使用户总是相对于一个或多个角色,从而实现管理的安全性。标准数据库角色可以分为两种类型: 固定数据库角色 自定义数据库角色返回目录11.5角色管理

11.5.4数据库角色固定数据库角色 固定数据库角色是预定义角色,角色的种类和每个角色的权限都是固定的,不能更改,也不能删除,只能为其添加成员或删除成员。 SQLServer提供了十种常用的固定数据库角色,这些角色在每个数据库中都存在。db_owner和db_securityadmin管理员角色的成员可以管理固定数据库的成员身份。但是只有db_owner角色可以将其他用户添加到db_owner固定数据库角色中。 public数据库角色是最基本的数据库角色,每个数据库用户可以不属于其他9个固定数据库角色,但是至少属于public数据库角色,当在数据库中添加新用户账户时,SQLServer2005会自动将新用户账户加入到public角色中。返回目录11.5角色管理

11.5.4数据库角色返回目录固定数据库角色权限db_owner可以执行数据库的所有配置和维护活动;db_accessadmin可以增加或者删除数据库用户、工作组和角色;db_ddladmin可以在数据库中运行任何数据定义语言(DDL)命令;db_securityadmin可以修改角色成员身份和管理权限;db_backupoperator可以备份和恢复数据库;db_datareader能且仅能对数据库中的任何表执行select操作,从而读取所有表的信息;db_datawriter能够增加、修改和删除表中的数据,但不能进行SELECT操作;db_denydatareader不能读取数据库中任何表中的数据;db_denydatawriter不能对数据库中的任何表执行增加、修改和删除数据操作11.5角色管理

11.5.4数据库角色自定义数据库角色 自定义数据库角色是用户自己创建的角色。创建自定义数据库角色就是创建一组用户,这些用户具有相同的一组许可。如果一组用户需要执行在SQLServer中指定的一组操作并且不存在对应的Windows组,或者没有管理Windows用户账户的许可,就可以在数据库中建立一个用户自定义的数据库角色。返回目录11.5角色管理

11.5.4数据库角色(2)应用程序角色 应用程序角色是一种比较特殊的角色。在打算让某些用户只能通过特定的应用程序间接存取数据库中的数据而不是直接存取数据库数据时,就应该考虑使用应用程序角色。当某一用户使用应用程序角色时,便放弃了已被赋予的所有数据库专有权限,该用户所拥有的只是应用程序角色被设置的权限。通过应用程序角色,能够以可控制方式来限定用户的语句或者对象许可。返回目录11.5角色管理

11.5.5创建用户定义数据库角色1.使用SQLServerManagementStudio创建用户自定义数据库角色1)打开SQLServerManagementStudio。2)在

SQLServerManagementStudio中,打开对象资源管理器,然后展开“数据库””文件夹。再展开“教务管理数据库”数据库3)展开“安全性”,再展开“角色”文件夹4)右击“数据库角色”,将鼠标指向快捷菜单中“新建”,再单“新建数据库角色”菜单项,打开“数据库角色-新建”窗口。在角色名称文本框中输入“db_role_01”。5)单击“确定”按钮,完成用户自定义数据库角色的添加。返回目录11.5角色管理

11.5.5创建用户定义数据库角色2.用T-SQL语句创建用户自定义数据库角色 语法格式: CREATEROLE角色名[AUTHORIZATION所有者] 说明: AUTHORIZATION关键字用来指定自定义的数据库角色所属的所有者。若省略此选项,则默认所有者为“dbo”。

【例11.13】使用T-SQL语句创建一个角色名为“db_role_02”的自定义数据库角色。

返回目录11.5角色管理

11.5.6将数据库用户添加为数据库角色成员1.使用SQLServerManagementStudio添加数据库角色成员1)打开SQLServerManagementStudio。2)在

SQLServerManagementStudio中,打开对象资源管理器,然后展开“数据库””文件夹。再展开“教务管理数据库”数据库3)展开“安全性”,再展开“角色”文件夹4)双击“db_role_01”角色,打开“数据库角色属性”窗口。在此窗口中单击“添加”按钮。打开“选择数据库用户或角色”窗口5)在“选择数据库用户或角色”窗口中单击“浏览”按钮,打开“查找对象”窗口,选择数据库用户“db_user01”用户。并返回到“数据库角色属性-db_role_01”窗口。6)单击“确定”按钮,完成数据库用户的添加。11.5角色管理

11.5.6将数据库用户添加为数据库角色成员2.用T-SQL语句添加数据库角色成员

语法格式: SP_ADDROLEMEMBER'角色名','数据库用户‘

【例11.14】使用T-SQL语句将“db_user01”数据库用户添加到“db_role2”数据库角色中。返回目录11.5角色管理

11.5.7从数据库角色中删除成员1.使用SQLServerManagementStudio删除数据库角色成员1)打开SQLServerManagementStudio。2)在

SQLServerManagementStudio中,打开对象资源管理器,然后展开“数据库””文件夹。再展开“教务管理数据库”数据库3)展开“安全性”,再展开“角色”文件夹4)双击“db_role2”角色,打开“数据库角色属性-db_role2”窗口。在此窗口中选中“db_user01”用户。并单击“删除”按钮。5)单击“确定”按钮,完成从数据库角色中删除成员。返回目录11.5角色管理

11.5.7从数据库角色中删除成员2.用T-SQL语句从数据库角色中删除成员 语法格式: SP_DROPROLEMEMBER角色名,数据库用户

【例11.15】使用T-SQL语句将“db_user01”数据库从“db_role_02”数据库角色中删除。返回目录11.5角色管理

11.5.8删除用户定义数据库角色1.使用SQLServerManagementStudio删除用户定义数据库角色1)打开SQLServerManagementStudio。2)在

SQLServerManagementStudio中,打开对象资源管理器,然后展开“数据库””文件夹。再展开“教务管理数据库”数据库3)展开“安全性”,再展开“角色”文件夹4)右击“db_role_01”角色,在弹出的菜单中单击“删除”菜单项。返回目录11.5角色管理

11.5.8删除用户定义数据库角色2.用T-SQL语句删除用户自定义数据库角色 语法格式: DROPROLE角色名

【例11.16】使用T-SQL语句将“教务管理数据库”数据库中的“db_role_02”自定义数据库角色删除。返回目录11.6权限管理11.6.1权限类型 权限用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。用户在登录到SQLServer之后,其用户帐号所归属的Windwos组或角色所被赋予的权限决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据。在SQLServer中包括三种类型的权限: 语句权限 对象权限 预定义权限返回目录11.6权限管理11.6.1权限类型(1)语句权限 语句权限是指对数据库的操作权限,这些语句通常是一些具有管理性的操作,如创建数据库、表和存储过程等。这种语句虽然仍包含有操作的对象,但这些对象在执行该语句之前并不存在于数据库中。因此,语句许可针对的是某个SQL语句,而不是数据库中已经创建的特定的数据库对象。返回目录11.6权限管理11.6.1权限类型(2)对象权限 对象权限是指对特定的数据库对象(即表、视图、字段和存储过程)的操作权限,它决定了能对表、视图等数据库对象执行哪些操作。如果用户想要对某一对象进行操作,必须具有相应的操作权限。表和视图的权限用来控制用户在表和视图上执行SELECT、INSERT、UPDATE和DELETE语句的能力。字段的权限用来控制用户在单个字段上执行SELECT、UPDATE和REFERENCES操作的能力。存储过程的权限用来控制用户执行EXECUTE语句的能力。返回目录11.6权限管理11.6.1权限类型(3)预定义权限 预定义权限是指系统安装以后部分用户和角色不必授权就有的权限。其中的角色包括固定服务器角色和固定数据库角色,用户包括数据库对象所有者。只有固定角色或者数据库对象所有者的成员才可以执行某些操作。执行这些操作的权限就称为预定义权限。返回目录11.6权限管理11.6.2用SQLServerManagementStudio管理权限 用户对权限的管理包括授予权限、拒绝权限和废除权限。 授予权限主要是授予用户账户在数据库中允许执行的语句权限和对象权限。 拒绝权限主要用于删除以前授予用户、组或角色的权限;停用从其他角色继承的权限;确保用户、组或角色将来不继承更高级别的组或角色的权限。 废除权限用于废除以前授予或拒绝的权限,废除权限与拒绝权限有类似的功能。都是删除已授予的权限。但是,废除权限是删除已授予的权限,并不删除用户、组或角色从其他角色继承的权限。返回目录11.6权限管理11.6.2用SQLServerManagementStudio管理权限1.使用SQLServerManagementStudio授予权限1)打开SQLServerManagementStudio。2)在

SQLServerManagementStudio中,打开对象资源管理器,后展开“数据库””文件夹。再展开“教务管理数据库”数据库。3)展开“安全性”,再展开“用户”文件夹。4)右击数据库用户“db_user01”在弹出的快捷菜单中选择“属性”,打开“数据库用户-db_user01”窗口。5)在数据库用户的“常规”选项页中,如果在“数据库角色成员身份”选项栏中选择一个数据库角色,实际上就完成了数据库用户语句权限的设置。因为对于这些数据库固定角色,SQLServer已经定义了其具有哪些语句权限。如果要设置对象权限,需要执行如下步骤返回目录11.6权限管理11.6.2用SQLServerManagementStudio管理权限1.使用SQLServerManagementStudio授予权限6)在左边的“选择页”中选中“安全对象”,打开“数据库用户权限设定”窗口。7)单击“添加”按钮,打开“添加对象”窗口。8)单击“特定对象”单选按钮,单击“确定”打开“选择对象”窗口。9)单击“对象类型”单选按钮,打开“选择对象类型”窗口,选择对象类型“表”,单击“确定”按钮。返回“选择对象”窗口。返回目录11.6权限管理11.6.2用SQLServerManagementStudio管理权限1.使用SQLServerManagementStudio授予权限11)单击“浏览”按钮,打开“查找对象”窗口。选中“[dbo].[学生表]”,单击“确定”按钮,返回“选择对象”窗口。12)单击“确定”按钮。返回“授予权限”窗口。选中“select”权限的“授予”列中的“复选框”按钮,并单击“确定”按钮。授予用户db_user01可以对“学生表”进行select操作。13)如果还想限制只能对“学生表”的某些列具有select权限,可单击“列权限”,打开“列权限”窗口,限定只能对“性别”和“姓名”两个字段具有SELECT权限。返回目录11.6权限管理11.6.2用SQLServerManagementStudio管理权限2.使用SQLServerManagementStudio拒绝权限和废除权限1)打开SQLServerManagementStudio。2)在

SQLServerManagementStudio中,打开对象资源管理器,然后展开“数据库””文件夹。再展开“教务管理数据库”数据库3)展开“安全性”,再展开“用户”文件夹。4)右击“db_user01”,在弹出的快捷菜单中选择“属性”,打开“数据库用户-db_user01”窗口。5)在左边的“选择页”中选中“安全对象”,打开“数据库用户权限设定”窗口。6)若在此窗口中取消已选中的“授予”列中的“复选框”按钮,可以废除权限已经授予的权限。返回目录11.6权限管理11.6.2用SQLServerManagementStudio管理权限2.使用SQLServerManagementStudio拒绝权限和废除权限7)若在此窗口中单击“拒绝”列中的“复选框”按钮,可以拒绝权限8)单击“确定”按钮,完成拒绝权限和废除权限的操作。返回目录11.6权限管理11.6.3用T-SQL语句管理权限1.用T-SQL语句授予权限(1)授予语句权限语法格式: GRANTALL|<语句权限列表>TO<用户名列表> [WITHADMINOPTION]说明:ALL:表示所有的语句权限。<语句权限列表>:用来指定要授予的语句权限列表。多个语句权限之间用逗号分隔。<用户名列表>:用来指定要授予语句权限的用户列表,多个用户之间用逗号分隔。WITHADMINOPTION:为可选项,指定后则允许用户将其拥有的语句权限再授予其他用户。11.6权限管理11.6.3用T-SQL语句管理权限1.用T-SQL语句授予权限

(1)授予语句权限语句权限有如下几种:CREATEDATABASECREATETABLECREATEVIEWCREATEFUNCTIONCREATEPROCEDURECREATEDEFAULTCREATERULEBACKUPDATABASEBACKUPLOG11.6权限管理11.6.3用T-SQL语句管理权限1.用T-SQL语句授予权限

(1)授予语句权限

【例11.17】使用T-SQL语句给“教务管理数据库”数据库中的“DB_USER01”用户授予CREATETABLE、CREATEVIEW语句权限。11.6权限管理11.6.3用T-SQL语句管理权限1.用T-SQL语句授予权限(2)授予对象权限语法格式: GRANTALL|<对象权限列表>ON<数据库对象名称>TO<用户名列表>[WITHADMINOPTION]11.6权限管理11.6.3用T-SQL语句管理权限1.用T-SQL语句授予权限(2)授予对象权限说明:ALL:表示所有的对象权限。<对象权限列表>:指定要授予的对象权限列表,多个对象权限之间用逗号分隔。对象权限可以包括:SELECT、INSERT、UP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论