数据库实验7
- 0 建立登录名
- 用SSMS工具建立登录名
- 用T-SQL语句建立登录名
- 1 删除登录名
- 用SSMS工具实现
- 用T-SQL语句实现
- 2 建立数据库用户
- 用SSMS工具实现
- 用T-SQL语句实现
- 3 删除数据库用户
- 用SSMS工具实现
- 用T-SQL语句实现
- 4 管理用户权限
- 用SSMS工具实现
- 用T-SQL语句实现
- 5 建立用户定义的角色
- 用SSMS工具实现
- 用T-SQL语句实现
- 6 为用户定义的角色授权
- 用SSMS工具实现
- 用T-SQL语句实现
- 7 为用户定义的角色添加成员
- 用SSMS工具实现
- 用T-SQL语句实现
- 8 删除用户定义角色中的成员
- 用SSMS工具实现
- 用T-SQL语句实现
0 建立登录名
用SSMS工具建立登录名
我们选择建立Windows身份验证的登录名:
-
打开SSMS对象编辑管理器中安全性,里面有一个登录名的文件夹:
-
右键登录名,选择新建登录名:
-
点击搜索:
-
弹出选择用户或组窗口:
-
点高级,再次弹出这个窗口,点立即查找:
-
列出查找结果:
-
选择一个点确认,新建登录名成功:
用T-SQL语句建立登录名
- 我们使用T-SQL语言建立SQL Server身份验证的登录帐户,登录名为SQL_wwj,密码为:123456
CREATE LOGIN SQL_wwj WITH PASSWORD = '123456'
执行结果:
-
退出软件,选择SQL身份验证,输入我们刚刚设置的账号密码:
-
点击连接,登录成功:
1 删除登录名
用SSMS工具实现
-
打开对象资源管理器中的安全性,点开登录名,选择你想删除的登录名,右键点删除即可:
- 注意这个登录名,现在不能在登录状态,必须在退出登录后,才能使用有权限的账号删除。
用T-SQL语句实现
-
删除用户SQL_wwj:
DROP LOGIN [SQL_wwj];
执行结果:
2 建立数据库用户
用SSMS工具实现
-
展开要建立用户的数据库:
-
点开安全性节点:
-
右键用户,点新建,登录名就是此数据库服务器的登录名,用户名任意:
-
填完后,点确定,多了一个叫张三的用户:
用T-SQL语句实现
让SQL_wwj登录帐户成为当前数据库中的用户,并且用户名同登录名。
CREATE USER SQL_wwj
- 注意数据库一定要选择你想设置用户名的数据库。
-
此时我们的学生管理系统数据库中多了一个叫
SQL_wwj
的用户:
3 删除数据库用户
用SSMS工具实现
- 来到刚刚创建的地方,右键单击删除即可:
-
弹出删除窗口,点确定:
-
删除后,不再存在zhangsan用户:
用T-SQL语句实现
DROP USER zhangsan
执行结果:
执行该命令后,SQL_wwj
用户也不存在:
4 管理用户权限
用SSMS工具实现
-
点开刚刚新建用户的数据库,右键点属性:
-
进入属性页面后,点权限:
-
-
如果没有看到你更改新建的用户名,点搜索:
-
下方可以设置该用户的权限,需要先选中该用户,再设置我们想设置的权限,点确认即可:
-
现在我们给
SQL_wwj
用户,查看定义的权限:
用T-SQL语句实现
-
给予
SQL_wwj
创建表的权限:GRANT CREATE TABLE TO SQL_wwj
执行命令结果:
现在用户可以创建新表了:
-
收回授予SQL_wwj创建表的权限:
REVOKE CREATE TABLE FROM SQL_wwj CASCADE;
执行结果:
-
拒绝user1创建视图的权限:
DENY CREATE VIEW TO SQL_wwj
执行结果:
5 建立用户定义的角色
用SSMS工具实现
-
展开某个数据库,点安全性:
-
右键角色,点新建数据库角色:
-
填写内容后即可创建新的角色:
用T-SQL语句实现
- 创建用户自定义角色:CompDept,拥有者为创建该角色的用户。
CREATE ROLE CompDept;
执行结果:
-
创建用户自定义角色:InfoDept,拥有者为 SQL_wwj。
CREATE ROLE InfoDept AUTHORIZATION SQL_wwj;
执行结果:
-
在刚刚的数据库角色文件夹中,可以看到我们创建的两个角色:
6 为用户定义的角色授权
用SSMS工具实现
和设置用户的权限一样步骤一样。
-
点对应的数据库。
-
右键属性。
-
选择对应角色,设置权限后,点确认。
用T-SQL语句实现
-
为InfoDept角色授予
StudentManagementSystem
数据库中Student
表的查询权:GRANT SELECT ON Student TO InfoDept
执行结果:
我们并没有,手动勾选Student
对应角色的权限,执行上述命令后,自动勾选了:
-
为
CompDept
角色授予数据库中Student表的增、删、改、查权:GRANT SELECT,INSERT,DELETE,UPDATE ON Student TO CompDept
执行结果:
7 为用户定义的角色添加成员
用SSMS工具实现
-
点开对应数据库,点安全性节点,再点角色,点数据库用户,右键要添加新成员的数据库角色:
-
点新建数据库角色,填写相关信息保存即可,所有者任意:
-
创建完新角色后,需要把这个角色添加进
CompDept
中,右键它,点属性:
用T-SQL语句实现
-
将SQL_wwj添加到当前数据库的CompDept角色中(假设该角色已存在)。
EXEC sp_addrolemember 'CompDept', 'SQL_wwj'
执行结果:
可以看到,现在该角色有两个成员了:
8 删除用户定义角色中的成员
用SSMS工具实现
-
还是点开刚刚的属性页面,直接选择你想删除的角色,点删除后,点确认即可:
用T-SQL语句实现
-
删除CompDept角色中的SQL_wwj成员:
EXEC sp_droprolemember 'CompDept','SQL_wwj'
执行结果: