SQL Server数据库用户权限管理:从入门到精通
SQL Server数据库用户权限管理:从入门到精通
本教程将引导您完成SQL Server数据库用户权限管理的各个方面,从创建用户到赋予权限,再到操作数据和回收权限。
一、 创建用户和设置权限
目标: 以Windows身份验证和SQL Server身份验证两种方式登录服务器,并在studentscore数据库中创建用户,赋予其对表和视图的操作权限。
1. 使用Windows身份验证登录并设置混合模式
- 右键单击服务器名称,选择'属性'。
- 在'安全'选项卡中,选择'SQL Server和Windows身份验证模式'。
2. 创建SQL Server登录账户
- 在对象资源管理器中,展开'安全性' > '登录名'。
- 右键单击'登录名',选择'新建登录名'。
- 选择'SQL Server身份验证',设置登录名(例如'Login')和密码。
3. 创建数据库用户
- 在查询编辑器中,连接到
studentscore数据库并执行以下语句:
CREATE USER User1 FOR LOGIN Login;
4. 授予用户权限
- 查询权限:
GRANT SELECT ON Student TO User1;
GRANT SELECT ON course TO User1;
GRANT SELECT ON sc TO User1;
- 修改权限:
GRANT UPDATE ON course TO User1;
- 删除权限:
GRANT DELETE ON sc TO User1;
5. 创建视图
- 计算机系学生信息视图:
CREATE VIEW V_JSJSTUDENT AS
SELECT * FROM Student WHERE Dept='计算机系';
- 选修'数据库原理及应用'课程的学生信息视图:
CREATE VIEW V_DBCOURSE AS
SELECT Student.ID, Student.Name, Student.Sex, Student.Dept
FROM Student, sc, course
WHERE Student.ID=sc.ID AND sc.CID=course.CID AND course.CName='数据库原理及应用';
6. 授予视图查询权限
GRANT SELECT ON V_JSJSTUDENT TO User1;
GRANT SELECT ON V_DBCOURSE TO User1;
二、 使用SQL Server身份验证登录和操作数据
目标: 使用创建的'Login'账户登录,并尝试对studentscore数据库进行各种操作。
- 以'Login'账户登录服务器。
- 尝试以下操作并观察结果:
- 删除计算机系所有学生信息。
- 修改'数据库原理及应用'课程的学分为4。
- 修改所有不及格学生的成绩为60分。
- 查询计算机系所有选修'数据库原理及应用'课程的学生信息(使用视图)。
- 尝试修改视图
V_JSJSTUDENT中某个学生的年龄数据。
思考: 为什么有些操作可以完成,而有些操作不能完成?
三、 回收用户权限
目标: 回收用户'User1'的部分权限,并观察其影响。
- 以Windows身份验证登录服务器。
- 执行以下语句回收权限:
REVOKE SELECT ON Student FROM User1;
REVOKE UPDATE ON course FROM User1;
- 以'Login'账户登录服务器,并尝试查询
Student表和修改course表的数据。
思考: 为什么回收权限后,'Login'账户无法再进行相应的操作?
总结: 通过本教程,您学习了如何在SQL Server中创建用户、设置权限、操作数据以及回收权限。深入理解这些概念将帮助您更好地管理数据库安全,保护敏感数据。
原文地址: https://www.cveoy.top/t/topic/jjUL 著作权归作者所有。请勿转载和采集!