**目录:
1.实验目的
2.实验内容
3.回答问题
**
sql代码
https://download.youkuaiyun.com/download/weixin_50836014/85970089
实验环境:
Windows10
Microsoft SQL Server Management Studio 2019
1.实验目的
通过本实验,掌握SQL Server安全机制,包括SQL Server安全、数据库用户与权限,掌握身份验证、登录、数据库用户、服务器角色、数据库角色、权限与授权方法等相关概念及其相互关系。
2.实验内容
(1) 创建一个数据库。在新创建的数据库下创建一个学生基本信息表,插入若干记录。
create database test1
use test1
create table stu(
姓名 varchar(20),
学号 varchar(10),
性别 varchar(5))
insert into stu ( 姓名,学号,性别)
values ('张三','1110191111','男'),
('李四','1110191259','女'),
('王五','1110191389','男'),
('孙六','1110192596','女');
(2) 创建一个Windows身份验证的登录1,将默认数据库设置为Master数据库。将登录1设置为数据库系统管理员。
--登录1授权
USE [master]
GO
CREATE LOGIN [DESKTOP-IL88V2D\test1] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO
ALTER SERVER ROLE [sysadmin] ADD MEMBER [DESKTOP-IL88V2D\test1]
GO
查看登录1的配置:
(3) 创建一个Windows身份验证的登录2,将默认数据库设置为新创建的数据库。授权登录2为新创建的数据库的管理员。
--登录2授权
USE [test1]
GO
CREATE LOGIN [DESKTOP-IL88V2D\test2] FROM WINDOWS WITH DEFAULT_DATABASE=[test1]
GO
ALTER USER [DESKTOP-IL88V2D\test2] WITH DEFAULT_SCHEMA=[dbo]
GO
ALTER ROLE [db_owner] ADD MEMBER [DESKTOP-IL88V2D\test2]
GO
检查登录2的权限:
(4) 撤消登录2的新创建的数据库的管理员权限。
--登录2收权
GO
ALTER ROLE [db_owner] Drop MEMBER [DESKTOP-IL88V2D\test2]
GO
(5) 授权登录2查询和更新学生基本信息表中部分字段的权限。验证查询、有权限更新、无权限更新、无权限插入和删除。
--登录2的再次授权
use [test1]
GO
GRANT SELECT ON stu TO [DESKTOP-IL88V2D\test2]
GO
GRANT UPDATE (学号) ON stu TO [DESKTOP-IL88V2D\test2]
GO
登录2的验证:
快捷键ctrl+alt+del,切换用户选择test2登录,打开sql server:
有select权限:
有更新权限:
无更新权限:
无权插入:
无权删除:
3.回答下列问题
(1) 简述什么是默认数据库并用实验结果说明不同的默认数据库在登录到数据库服务器后有什么不同。
默认数据库就以用户名登录后默认可以使用的数据库,用户有一定的权限能对默认数据库进行操作。由于用户权限的不同,可操作的数据库也不同,如上面的登录2,其只能对默认数据库操作,无权操作其他数据库。
(2) 说明实验内容(2)、(3)、(5)中所用的授权方法的差异,简述每种方法的优缺点。
(2)中的授权是将登录1作为整个数据库服务器的管理员,登录1可以获得所有数据库的全部权限,有安全隐患。
(3)中的授权使登录2获取了某一个特定数据库的全部的操作权限,但不能对其它数据库进行操作,安全性更高。
(5)中的授权只授予登录2对一个数据库中的部分操作权限,安全性优于(2)和(3)。
4.SQL代码
https://download.youkuaiyun.com/download/weixin_50836014/85970089
更多资源
北京理工大学—计算机专业课程资源https://blog.youkuaiyun.com/weixin_50836014/article/details/125687455