SQlServer中登录名、用户、角色、等概念讲解
- 作者: 格调高大上
- 来源: 51数据库
- 2021-08-04
,角色,用户,安全 登录sql server 2008可以用windows身份验证也可以用sql server身份验证,不论那种,进入数据库后都拥有超级用户的权限,这显然是不太安全的。合理的做法是:对于一个数据库,应该是由不同权限的用户进行操作和管理。 本博文将结合一个例子来讲解如何建立数据库,并为数据库建立不同权限的用户。 一、登录数据库管理(首先要打开sql server数据库服务) 1、用windows身份验证登录

2、用sql server身份验证登录,默认的登录名是sa,如果密码忘记了可以用windows身份登录后,进入 更改。安全性->登录名->双击sa->设置密码。

二、建立数据库library 1、数据库->新建数据库

2、填写数据库名称

三、为数据库library建立基本表:学生表student、表book、借阅表borrow。并各导入一定的数据。 四、创建用户。 这里为简单起见,只创建两个用户——学生用户(student_user)、管理员用户(admin_user)。其中学 生用户只能查阅(select),而管理员用户可以查阅(select)、更新(update)、插入(insert)、删除(delete)。 1、首先要创建登录名,并未登录名指定用户 ① 学生用户
use library go create login stu with password='123'; use library go create user student_user for login stu;
② 管理员用户
use library go create user student_user for login stu;
2、创建角色并未角色授权 ① 学生角色
create role student_role; grant select on book to student_role; grant select on borrow to student_role; grant select on student to student_role;
② 管理员角色
create role admin_role; grant select,update,delete,insert on book to admin_role; grant select,update,delete,insert on borrow to admin_role; grant select,update,delete,insert on student to admin_role;
3、将角色授予用户。student_role授予student_user,admin_role授予admin_user。 ① student_role授予sthdent_user
exec sp_addrolemember @rolename='student_role', @membername='student_user';
② admin_role授予admin_user
exec sp_addrolemember @rolename='admin_role', @membername='admin_user';
五、分别用stu和admin登录,可以发现stu登录后只能对基本表进行查询操作,而admin登录后除了可以查询外,还可以插入、删除、更新。这样就达到了博文开始时所述,不同权限的用户进行不同的操作,从而使得数据库更加安全。
- SQLite数据库操作:原生操作,GreenDao操作讲解
- 数据库SQL实战题:获取员工其当前的薪水比其manager当前薪水还高的相关信息(教程)
- SQLSERVER查询区分大小写的写法分析
- SQL学习总结之SQL的分类介绍
- 阶梯到高级T-SQL 1级:高级T-SQL介绍交叉连接
- 高级T-SQL级别1的Stairway:使用CROSS JOIN引入高级T-SQL分析
- 什么是SQL隔离级别?四个SQL隔离级别定义介绍
- Sql递归介绍之用with实现递归查询
- SQLSERVER查询时日期格式化的实例讲解
- 数据库SQL实战:从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略(题解)
