用户及其权限管理

  • 1. 创建登录名Mylog及密码
  • 2. 创建用户user2关联登录名
  • 3. 创建角色role1
  • 4. 对用户user2及角色role1授权
  • 5. 验证用户授权
  • 6. 收回用户权限

1. 创建登录名Mylog及密码

create login Mylog with password='123456'


2. 创建用户user2关联登录名

-- 创建一个EDUC数据库用户user2,使其关联登录名Mylog
create user user2 for login Mylog with default_schema = DBO


3. 创建角色role1

-- 创建一个EDUC数据库角色role1
create role role1


4. 对用户user2及角色role1授权

1. 对角色role1进行授权

-- 将创建基本表的权限授予role1
grant create table to role1-- 将查询学生表的权限授予角色role1
grant select on student to role1-- 将插入选课表和修改成绩的权限授予角色role1
grant insert, update(sc_grade) on select_course to role1

2. 对用户user2进行授权

-- 将角色role1授予用户user2(添加user2为角色role1的成员)
exec sp_addrolemember role1,user2
grant alter on schema::dbo to user2-- 将查询、插入和删除课程表的权限授予用户user2
grant select,insert,delete on course to user2

5. 验证用户授权

1)选用SQL Server用户身份验证方式,以Mylog登录名重新登录。

2)将EDUC设置为当前数据库

-- 将EDUC设置为当前数据库
use EDUC

3) 创建一个基本表,结构由学生自行确定,检验该用户是否具有创建基本表的权限

-- 创建一个基本表,结构由学生自行确定,检验该用户是否具有创建基本表的权限
create table usr(id int primary key,name char(10)
)

报错原因:从2005开始,用户与架构分离,user2用户没有dbo架构的权限,授权时应该加

grant alter on schema::dbo to user2

4)查询学生表,检验用户是否已拥有查询学生表的权限

-- 查询学生表,检验用户是否已拥有查询学生表的权限
select * from student

5)向选课表中插入一个元组,检验用户是否拥有该权限

-- 向选课表中插入一个元组,检验用户是否拥有该权限
insert into select_course values(2018217876,80,096.5)

6)修改某学生、某门课的成绩,检验用户是否具有修改成绩的权限

-- 修改某学生、某门课的成绩,检验用户是否具有修改成绩的权限
update select_course set sc_grade = 100 where sc_num = 100

(7)操作课程表,检验用户是否具有:查询、插入和删除的权限

-- 操作课程表,检验用户是否具有:查询、插入和删除的权限
select * from course
insert into course values(92,'计算机导论',3,null);
drop table course


6. 收回用户权限

1、收回角色role1查询学生表的权限

以系统用户的身份重新登录

-- 收回角色role1查询学生表的权限
revoke select on student from role1

2、收回用户user1删除课程表元组的权限

-- 收回用户user1删除课程表元组的权限
revoke delete on course from user1

3、验证权限收回是否有效

首先重新登录,以Mylog方式登录,然后进行验证

-- 验证权限收回是否有效
select * from student
delete from course where cs_id = 100

合肥工业大学—SQL Server数据库实验十:用户及其权限管理相关推荐

  1. 合肥工业大学—SQL Server数据库实验四:数据库的分离和附加

    数据库的分离和附加 1. 数据库分离 2. 数据库附加 1. 数据库分离 当SQL Server服务器运行时,该服务器上所有的数据库自动处于运行状态,而运行中的数据库文件是无法进行数据库文件的拷贝的. ...

  2. 合肥工业大学—SQL Server数据库实验五:创建和删除索引

    创建和删除索引 1. 用SQL语句建立索引 2. 用SQL语句删除索引Stuspno 1. 用SQL语句建立索引 (1)应用场景:在教务管理系统中,经常需要通过学生的姓名查询学生的基本信息,学生人数大 ...

  3. 合肥工业大学—SQL Server数据库实验三:SQL语句创建和删除基本表

    SQL语句创建和删除基本表 1. 编写6个基本表 2. 修改基本表结构,完整性约束条件 3. 用Drop table 语句删除基本表 1. 编写6个基本表 设有简单教学管理的6个关系模式如下: 系(系 ...

  4. 合肥工业大学—SQL Server数据库实验八:使用聚集函数的SELECT语句

    在数据库EDUC中用SQL语句实现如下查询: 1) 查询学生的总人数 -- 查询学生的总人数 select count(*) from student select count(1) from stu ...

  5. 合肥工业大学—SQL Server数据库实验二:数据库架构的创建与使用

    数据库架构的创建与使用 1. 创建架构MySch 2. 创建一个登录名log1 3. 创建用户user1,关联登录名与架构 4. 创建架构Schema1,授予用户user1 5. 在当前架构DBO(默 ...

  6. 合肥工业大学—SQL Server数据库实验九:视图的定义与使用

    视图的定义与使用 1. 定义视图 2. 使用视图 1. 定义视图 在EDUC数据库中,已Student.Course 和SC表为基础完成一下视图定义: 1) 定义视图V_SC_G:该视图包含Stude ...

  7. 合肥工业大学—SQL Server数据库实验一:数据库的创建和删除

    数据库的创建和删除 1. 创建数据库EDUC 2. 创建数据库TestDB 3. 删除数据库TestDB 4. 设置当前数据库为EDUC 1. 创建数据库EDUC 数据库名称:EDUC 数据库存储路径 ...

  8. 合肥工业大学—SQL Server数据库实验七:数据查询

    数据查询 1. 单表查询 2. 多表连接查询 1. 单表查询 1. 查询全体学生的信息: -- 查询全体学生的信息 select * from student 2. 根据专业编号(21)查询学生的学号 ...

  9. 合肥工业大学—SQL Server数据库实验六:数据更新操作

    数据更新操作 1. 数据插入 2. 数据修改 3. 数据删除 1. 数据插入 依次将准备好的数据用Insert Into语句将数据插入相应的基本表: 正确数据的插入,这些数据应该不会违反完整性约束 注 ...

最新文章

  1. ExpandableListView(一)替换系统默认的箭头
  2. IMXRT 分散加载文件 修改OCRAM,DTCM、ITCM大小
  3. [dts]TI-am437x dts
  4. java内存块_JVM上的并发和Java内存模型之同步块笔记
  5. 安卓移植和驱动开发第八章心得体会
  6. 电为啥要分交流、直流?
  7. centos7输入法,非root用户无法使用
  8. ueditor 上传图片或者视频报错 413 Request Entity Too Large
  9. Kali 2020版 Linux操作系统解决系统语言问题(英文--中文)
  10. Xshell代理访问外网或者公司的内网
  11. Jupyter notebook 使用多个Conda 环境
  12. php图片提交,php+js实现图片的上传、裁剪、预览、提交示例
  13. java公平锁和非公平锁_java并发编程学习之再谈公平锁和非公平锁
  14. cygwin图文安装教程
  15. c语言程序设计报告链表,c语言程序设计报告链表实现学生信息管理.docx
  16. 零基础编译ffmpeg到wasm
  17. 软件测试全套教程,软件测试自学线路图
  18. 占内存最小的浏览器:360安全浏览器超速版推荐
  19. 对照ArcGIS坐标系统文件(.prj)用Deskpro完成投影转换
  20. 长沙县:红红火火过大年 文化惠民暖人心

热门文章

  1. 学生上课睡觉班主任怎么处理_学生上课睡觉,老师的管与不管,不是你看到的那么简单...
  2. 2022-2028年中国中密度纤维板市场投资分析及前景预测报告
  3. swig error : Unrecognized option -doxygen Ubuntu 安装 swig-3.0.12
  4. 2022-2028年中国汽车塑料行业市场深度分析及投资趋势预测报告
  5. 联邦学习fate笔记小结
  6. LeetCode简单题之删除一个元素使数组严格递增
  7. 2021年大数据Kafka(四):❤️kafka的shell命令使用❤️
  8. oracle 开链,欧链OracleChain开启Dapps应用新时代
  9. HarmonyOS UI开发 StackLayout(堆栈布局) 的使用
  10. HarmonyOS UI开发 DependentLayout(依赖布局) 的使用