《SQL Server实用教程(第3版)[郑阿奇][电子教案]第9章系统安全管理》.ppt
文本预览下载声明
【例9.13】 将SQL Server登录名创建的PXSCJ的数据库用户wang(假设已经创建)添加到数据库角色ROLE1中。 USE PXSCJ GO EXEC sp_addrolemember ROLE1,wang 【例9.14】 将数据库角色ROLE2(假设已经创建)添加到ROLE1中。 EXEC sp_addrolemember ROLE1,ROLE2 将一个成员从数据库角色中去除也使用系统存储过程sp_droprolemember,之前已经介绍过。 3.通过SQL命令删除数据库角色 要删除数据库角色可以使用DROP ROLE语句。 语法格式: DROP ROLE role_name 其中,role_name为要删除的数据库角色的名称。 【例9.15】 删除数据库角色ROLE2。 在删除ROLE2之前首先需要将ROLE2中的成员删除,可以使用界面方式,也可以使用命令方式。若使用界面方式,只需在ROLE2的属性页中操作即可。命令方式在删除固定数据库成员时已经介绍,请参见前面内容。 确认ROLE2可以删除后,使用以下命令删除ROLE2: DROP ROLE ROLE2 9.4.1 授予权限 权限的授予可以使用命令方式或界面方式完成。 (1)使用命令方式授予权限。利用GRANT语句可以给数据库用户或数据库角色授予数据库级别或对象级别的权限。 语法格式: GRANT { ALL [ PRIVILEGES ] } | permission [ ( column [ ,...n ] ) ] [ ,...n ] [ ON securable ] TO principal [ ,...n ] [ WITH GRANT OPTION ] [ AS principal ] 【例9.16】 给PXSCJ数据库上的用户david和wang授予创建表的权限。 以系统管理员身份登录SQL Server,新建一个查询,输入以下语句: USE PXSCJ GO GRANT CREATE TABLE TO david, wang GO 【例9.17】 首先在数据库PXSCJ中给public角色授予表XSB的SELECT权限。然后,将其他的权限也授予用户david和wang,使用户有对XSB表的所有操作权限。 以系统管理员身份登录SQL Server,新建一个查询,输入以下语句: USE PXSCJ GO GRANT SELECT ON XSB TO public GO GRANT INSERT, UPDATE, DELETE, REFERENCES ON XSB TO david, wang GO 【例9.18】 将CREATE TABLE权限授予数据库角色ROLE1的所有成员。 以系统管理员身份登录SQL Server,新建一个查询,输入以下语句: GRANT CREATE TABLE TO ROLE1 【例9.19】 以系统管理员身份登录SQL Server,将表XSB的SELECT权限授予ROLE2角色(指定WITH GRANT OPTION子句)。用户li是ROLE2的成员(创建过程略),在li用户上将表XSB上的SELECT权限授予用户huang(创建过程略),huang不是ROLE2的成员。 首先在以Windows系统管理员身份登录,授予角色ROLE2在XSB表上的SELECT权限: USE PXSCJ GO GRANT SELECT ON XSB TO ROLE2 WITH GRANT OPTION 在“SQL Server Management Studio”窗口上单击“新建查询”按钮旁边的数据库引擎查询按钮 ,在弹出的连接窗口中以li用户的登录名登录,如图9.12所示。单击“连接”按钮连接到SQL Server服务器,出现“查询分析器”窗口。 图9.12 以li用户身份登录 【例9.20】 在当前数据库PXSCJ中给public角色赋予对表XSB中学号、姓名字段的SELECT权限。 以系统管理员身份登录SQL Server,新建一个查询,输入以下语句: USE PXSCJ GO GRANT SELECT (学号,姓名) ON XSB TO public GO (2)使用界面方式授予语句权限。 ①授予数据库上的权限。以给数据库用户wang(假设该用户已经使用SQL Server登录名“wang”创建)授予PXSCJ数据库的CREATE TABLE语句的权限为例,在SQL Server Management Studio中授予用户权限的步骤如下: 以系统管理员身份登录到SQL Server服务器,在“对象资源管理器”中展开“数据库”→“PXSC
显示全部