西安邮电大学
(计算机学院)
课内实验报告
实验:数据库的安全性实验
课程:数据库原理及应用B 班级:网络1203
学号:
学生姓名:
任课教师:孟彩霞
一、实验目的
(1)理解SQL Server验证用户身份的过程,掌握设置身份验证模式的方法(2)理解登录帐号的概念,掌握混合认证模式下登录帐号的建立与取消方法
(3)掌握混合认证模式下数据库用户的建立与取消方法
(4)掌握数据库用户权限的设置方法
(5)理解角色的概念,掌握管理角色技术
二、实验内容
(1)在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。
(2)创建、管理数据库服务器的登录账号。
(3)创建、管理数据库用户。
(4)管理用户权限。
(5)创建、管理数据库角色。
三、实验环境
Windows7
SQL SERVER 2012
四、实验前准备
课本
上机使用代码
五、实验步骤
1.在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。
2.创建、管理数据库服务器的登录账号。
用T-SQL语句创建、查看、删除登录账号。
创建一个名为Student、密码为111、使用的默认数据库为JWGL的登录账号。
EXEC sp_addlogin ‘student’,’111’,’JWGL’查看登录账号EXEC sp_helplogins
删除登录账号为EXEC sp_droplogins ‘student’ 3.创建、管理数据库用户。
用T-SQL语句创建、查看、删除数据库用户。
为数据库JWGL创建一个用户user1,该用户登录SQL Server服务器的账号为wang,登录密码为secret,相应的程序代码为: EXEC sp_addlogin ‘wang’, ‘secret’, ‘JWGL’ GO
EXEC sp_grantdbaccess ‘wang’, ‘user1’查看数据库用户为EXEC sp_helpuser
删除数据库中的“wang”用户为EXEC sp_revokedbaccess ‘wang’ 4.管理用户权限。
使用T-SQL语句完成第3章习题12中(1)~(3)的用户管理和用户权限管理。
企业管理器:
(1)允许用户李明对Orders表进行插入、删除操作。
GRANT INSERT ,DELETE ON Orders TO ‘李明’
(2)将查询Goods表和修改单价的权限授予用户李四。
GRANT UPDATE(Price),SELECT ON Goods TO ‘李四’
(3)将查询Goods表的权限授予用户王二,并允许他将此权限授予他人。
GRANT SELECT ON Goods TO ‘王二’ WITH GRANT OPTION 5.创建、管理数据库角色。
如一个小组共3个成员,他们对JWGL具有相同的操作权限,具体权限为对Student,Course表只能进行数据查询;对SC表可以进行查询、修改、删除和插入。
可以创建一个角色(如role),给该角色赐予相应的权限,然后给每个成员建立一个登录账号(如分别为lin,wang,zheng),并将每个成员的登录账号添加为数据库角色role的成员。
其代码如下:
EXEC sp_addrole ‘role’
GO
GRANT SELECT ON Student,course TO role
GRANT SELECT,UPDATE,DELETE,INSERT ON SC TO role
GO
EXEC sp_addrolemember ‘role’,‘lin’
EXEC sp_addrolemember ‘role’,‘wang’
EXEC sp_addrolemember ‘role’,‘zheng’
删除角色role,然后再使用企业管理器完成以上任务。
删除角色role时,必须保证它不包含任务数据库用户,即要先删除其下的所有成员。
EXEC sp_droprolemember ‘role’,‘lin’
EXEC sp_droprolemember ‘role’,‘wang’
EXEC sp_droprolemember ‘role’,‘zheng’ GO
EXEC sp_droprole ‘role’
六、实验结果
数据库安全性要弄清几个概念,用户、帐号、角色,还有各自的作用等等,
以及权限在安全性中的重要性。