一、实验目的:
1、掌握SQL SERVER的身份验证方式。
2、掌握SQL SERVER的权限。
3、掌握给数据库的用户和角色赋予权限和从用户和角色收回权限。
4、掌握GRANT,REVOKE,DENY的用法。
二、实验内容:
1、将SQL SERVER服务器的安全认证方式设置为‘WINDOWS认证方式’,现有一个普通windows用户coco需要能够查询Globaltoyz数据库的Toys表除cToyid外的其他列,完成相应的过程和SQL语句。
(1)创建coco用户
(2)创建结果
(3)授予coco用户Toys表除cToyid外的其他列查询权
2. 将SQL SERVER服务器的安全认证方式设置为‘SQL SERVER和WINDOWS认证方式’并完成下列操作任务:
3、以DBA身份在Recruitment数据库中创建两个架构schema1和schema2。
(1)sql语句
(2)执行结果
4. 创建一个SQL server身份认证的用户USER1, 让其拥有架构schema1,并将USER1的默认架构也设为schema1,DBA给用户 USER1赋予创建表以及查询和更新ContractRecruiter表的(cName,vAddress,cCity)的权限。
(1)创建一个登录名USER1
(2)创建一个用户USER1, 连接到登录名USER1, 并设置架构
(3) 授予权限
5. USER1创建一张表temp(表结构自定义),并将对temp表的插入删除和查询权限赋予用户USER2,USER2验证是否获得该权限。
(1)USER1创建一张表temp
(2) 创建USER2
(3) 授予USER2权限
(4) 验证权限插入、查询
(5)验证权限删除、查询
6. 将查询Department表的权限赋给服务器上的所有用户。
7. 创建一个SQL Server身份认证的用户USER2, 让其拥有架构schema2,将USER2的默认架构设为schema2,DBA将创建表的权限赋给用户USER2,并且要使得USER2具备传递该权限的能力。
8. 创建角色ROLE1,将查询和更新EMPLOYEE表的权限赋给角色ROLE1。
9. 将用户USER1和USER2加入到角色ROLE1中,但同时并不希望USER1具备更新EMPLOYEE表的权限,写出所有的相关过程或语句。
10. 收回针对USER2的对Department的查询权限。
11. 收回USER2创建表的权限,并级联的收回该用户传递给其他用户的创建表的权限。
12. 创建用户USER3,将其加入系统预定义服务器角色sysadmin,测试USER3获得的权限。
(1)创建用户USER3
(2) 将USER3加入系统预定义服务器角色sysadmin
(3)测试权限
(4)测试结果