以Students用户身份登录:
(1)创建windows登录用户students
(2)为windows用户students创建访问jxsk的用户账号,并设置students具有public身份
(3) 修改SQL Server实例为混合验证模式(即支持Windows身份验证和 SQL Server验证)
(4) 创建SQL Server验证的用户teachers,(密码自定)并设置teachers具有jxsk的db_owner身份及db_accessadmin身份
(5)创建SQL Server验证的用户testuser1和testuser2,(密码自定)并设置它们具有jxsk的public身份
以teacher用户身份登录:
(1) 授予用户testuser1只可以在jxsk中创建视图和表的权限
(2) 授予用户testuser2不允许在jxsk中创建视图和表,但允许其它操作
(3) 授予用户testuser1可以在jxsk中对S表的insert,update权限
grant insert,update on s to testuser1
(4)授予用户testuser2可以在jxsk中对S表的insert权限,并废除对表S的Update权限
grant insert on s to testuser2;
revoke update on s to testuser2
(5)授予用户testuser1可以在jxsk中对S表的列sno,sn的select权限,对列sn的update权限
grant select(sno,sn) on s to testuser1;
grant update(sn) on s to testuser1
(6)分别以testuser1,testuser2登录,并测试其权限是否生效
Testuser1中对s表的sn查询生效:
select sn from s
Testuser2中对s表的插入生效:
insert into s values('s8','韩韩','女',null,null,null)
以管理员用户身份登录:
(1)创建角色testrole, 授予testrole可以在jxsk中对表sc具有update权限
exec sp_addrole testrole
grant update on sc to testrole;
(2) 将用户testuser2充当testrole角色
EXEC sp_addrolemember 'testrole','testuser2';
(3)以testuser2登录,并测试其权限是否生效
update sc set score=88 where sno='s1'