(4)点击“搜索”按钮,出现“添加对象”对话框,选择“特定对象”,点击“确定”按钮,如图6-17所示。
图6-17 添加权限对象对话框
(5)如图6-18所示,在“选择对象”对话框中点击“对象类型”按钮。
图6-18 选择权限对象对话框
(6)如图6-19所示,在“选择对象类型”对话框中勾选“表”,然后点击“确定”按钮,返回到“选择对象”对话框。
图6-19 选择权限对象类型对话框
(7)如图6-20所示,在“选择对象”对话框中,点击“浏览”按钮,进入“查找对象”对话框。
11
图6-20 选择权限对象对话框
(8)如图6-21所示,在“查找对象”对话框中勾选表SC,然后点击“确定”按钮,再次返回到“选择对象”对话框。
图6-21 查找权限对象对话框
(9)如图6-22所示,点击“确定”按钮,返回到安全对象设置对话框。
图6-22 选择权限对象对话框
(10)在安全对象设置对话框中,通过勾选dbo.SC对应的权限给角色R1授权。如图6-23所示,勾选“选择”权限对应的授权框,点击“确定”按钮,使得角色R1获得SC表的插入和修改权限。
12
图6-23 角色授权
(11)如图6-24所示,在“选择页”中选择“常规”选项,点击“添加”按钮,实现将角色R1授予用户。
图6-24 角色赋予用户
13
(12)如图6-25所示,在“选择数据库用户或角色”对话框中,点击“浏览”按钮,进入“查找对象”对话框。
图6-25 选择数据库用户或角色对话框
(13)如图6-26所示,在“查找对象”对话框中勾选U1,点击“确定”按钮返回。
图6-26 选择被授权用户对话框
(14)如图6-27所示,点击“确定”按钮完成授权,实现把角色R1授予用户U1。
图6-27 完成角色授权
14
(15)验证用户U1的操作权限。以用户U1的身份登录,在SQL Server Management Studio中新建查询,并在查询编辑区中使用SQL语句,验证用户U1的操作权限。
方法二:通过SQL的数据控制功能
对角色授权,必须是数据库对象拥有者以上用户授予。我们可以以系统管理员或sa用户登录SQL Server Management Studio。
创建角色R2,使该角色拥Student表的SELECT、INSERT权限,然后将角色R2授予指定的用户U2和U3。
1)在平台中使用语句sp_addrole @rolename='角色名'创建角色R2;
2)用GRANT语句为角色R2赋予Student表的SELECT、INSERT权限; 3)在查询分析器中使用语句sp_addrolemember '角色名','用户名'将角色授予指定的用户。
6.分别以用户U1,U2,U3的身份进入数据库,实现权限内的操作和权限外的操作,看看会得到什么结果?
15
附录:
实验7 数据库安全性
基本权限表
1、角色R1 对象 Student SC Course 2、角色R2 对象 Student SC Course 3、用户U1 对象 Student SC Course 4、用户U2 对象 Student SC Course 5、用户U3 对象 Student SC Course SELECT √ INSERT √ UPDATE DELETE SELECT √ INSERT √ UPDATE DELETE SELECT √ √ INSERT √ UPDATE √ DELETE SELECT √ INSERT √ UPDATE DELETE SELECT INSERT √ UPDATE √ DELETE
16