题目1、通过management studio 新建登录用户名mike,使用SQL Server身份认证,密码为mike。其默认数据库为master。题目2、用SQL语句添加登录用户Candy,密码123456.在management studio中找到candy,右键单击该登录用户,查看默认数据库为什么,给出该账户属性对话框的截图。 实验四 数据库安全性实验主要关注如何在SQL Server中管理和控制数据的安全性,涉及的主要知识点包括登录用户创建、权限分配、角色管理和权限撤销等。以下是详细解释: 1. 创建登录用户: - SQL Server Management Studio (SSMS) 中,可以通过新建登录用户来管理数据库访问。例如,创建名为`mike`的登录,使用SQL Server身份验证,密码为`mike`,默认数据库为`master`。 - 使用SQL语句`CREATE LOGIN candy WITH PASSWORD='123456'`可以添加登录用户`Candy`,密码`123456`。 2. 查看默认数据库: - 在SSMS中,找到`Candy`登录用户,右键点击查看属性,可以确定默认数据库。 3. 数据库权限控制: - `GRANT`语句用于赋予用户特定权限,如允许`mike`访问`student`数据库。 - `REVOKE`语句用于撤销已赋予的权限,例如,禁止`mike`对`student`数据库的操作。 4. 角色创建与授权: - 可以通过创建角色(如`R1`)并赋予特定权限,如`SELECT`和`UPDATE`在`s`表上的权限。 - 使用`sp_addrolemember`存储过程,将用户添加到角色中,如将`Candy`和`Rose`添加到`R1`角色。 5. 登录属性更改与权限问题: - 更改`mike`的默认数据库为`student`,但若`mike`无访问`student`的权限,登录时会出现问题。 - 为使`mike`作为`student`数据库的拥有者登录,需将`mike`映射到`student`数据库,并赋予适当的角色权限,如`public`。 6. 限制用户操作: - 修改`mike`的权限,只允许对`student`数据库的用户表进行读操作,可以使用`GRANT SELECT`命令。 - 当尝试写入操作(如`INSERT`)时,系统会提示权限不足。 7. 数据库用户与登录用户的关联: - 使用`CREATE USER candy FROM LOGIN candy`创建数据库用户`candy`,对应登录用户`candy`。 - 如果`candy`没有访问`student`数据库的权限,则无法对其进行操作。 8. 角色权限管理: - 可以通过`REVOKE`语句收回用户或角色的权限,如`REVOKE SELECT ON s FROM rose`。 - 使用角色可以使权限管理更有序,如创建角色`R1`并分配权限,然后将用户添加到角色中。 9. SQL语句示例: - 授予查询权限:`GRANT SELECT ON s TO rose` - 更新权限:`GRANT UPDATE(grade) ON sc TO rose` - 查询、更新、插入和删除操作,以及使用角色权限的SQL语句执行过程。 通过这些实验步骤,学生能够深入理解SQL Server中的数据库安全机制,包括用户创建、权限分配、角色管理和权限撤销,这对于维护数据库的安全性和数据完整性至关重要。
剩余10页未读,继续阅读
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 小说网站-JAVA-基于springBoot“西贝”小说网站的设计与实现
- 游戏分享网站-JAVA-基于springBoot“腾达”游戏分享网站的设计与实现
- 学习交流-JAVA-基于springBoot“非学勿扰”学习交流平台设计与实现
- EDAfloorplanning
- 所有课程均提供 Python 复习部分.zip
- 所有算法均在 Python 3 中实现,是 hacktoberfest2020 的一个项目 - 没有针对 hacktoberfest 2021 的问题或 PR.zip
- OpenCV的用户手册资源.zip
- 用springmvc实现的校园选课管理系统
- 我的所有 Python 代码都存储在这个文件夹中 .zip
- 以下是关于毕业设计项目开发的详细资源.docx