数据库系统开发实验一
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
姓名:
学号:
班级:
实验:安全SQL Server安全管理实验时间: 2017年9月14日
目录
一、实验目的
(通过实验要达到什么样的效果,学到什么东西)
二、实验条件
(实验使用软件)
三、实验内容
(实验需要做的具体详细的实验项目)
四、实验要求
(实验中,我们要注意的实验事项和写实验报告的详细要求)
五、实验步骤
(实验步骤包括具体的每个实验的实验方法、实验结果和实验结果分析,按照每步遇到的问题,进行分析解决)
六、实验感悟
(总结实验中遇到的问题,以后该怎么解决)
实验一安全SQL Server安全管理实验
一、实验目的
通过本实验,掌握SQL Server安全管理中的登录、数据库服务器角色、用户、数据库角色、特定对象权限、登录与数据库用户的关系等基本概念与安全机制,掌握数据库服务器角色授权、数据库角色授权和特定对象授权三种制授权方法及差异。
二、实验条件
SQL Server 示例数据库AdventureWorks。
三、实验内容
1.创建一个Windows登录并将示例数据库AdventureWorks设置为该登录的默认数据
库。
2.设置登录在默认数据库中的用户映射。
3.创建一个服务器角色并给服务器角色授予相应的权限。
4.将登录分别加入到一个固定服务器角色和上面创建的服务器角色中对默认数据库
进行操作(如创建表,查询表等)。注意每次只使用一个服务器角色来验证授权。
5.分别使用两个不同的固定数据库角色进行相应的授权操作验证具有操作权限和不
具有操作权限的差异。
6.只使用特定对象授权,完成查询表的操作以验证授权的成功和没有授权时的结果。
四、实验要求
实验报告中要求给出实验内容中(1)—(5)的每一个操作及结果的描述。
(1)使用T-SQL命令而非图形界面执行具体的操作过程。
(2)操作过程与结果可以使用截图。
每个小的实验都必须给出具体的实验方法、实验结果与结果分析。在对每个实验结果的分析中要描述产生正确结果或错误的原因,有些可以写出相应的解决方法。例如,操作了对某个表的查询是因为登录XXX在数据库YYY中映射到用户UUU,而用户又属于数据库角色DB_ROLEX,数据库的角色DB_ROLEX具有对数据库的…操作权限,
所以能够查询该表。对于不能完成的操作也必须做出相应的分析。
五、实验步骤
1.创建一个Windows登录并将示例数据库AdventureWorks设置为该登录的默认数据库
实验方法:
要建立一个新的Windows登录,我们需要先建立一个新的Windows本地用户,如下图所示
在登录时,出现一些问题,自习分析和查找相关资料,最终解决了。
通过对新建的windows用户guest授权和相应的处理,如下图使用T-sql语句进行操作
最后切换用户guest,打开ssms软件,登录,并且将示例数据库adventureworks设为其默认的登录数据库
设置默认数据库代码如下
实验结果:成功完成创建一个Windows登录并将示例数据库AdventureWorks设置为该登录的默认数据库
结果分析:刚开始使用08版本的ssms,结果出现一些问题,然后更新为12版本,还是出现问题,最终解决问题实现实验要求
2.设置登录在默认数据库中的用户映射
实验方法:登录用户,打开查询,输入T-sql命令语句,执行
实验结果:成功运行,实现要求
结果分析:T-sql语句没有出现错误,所以通过
3.创建一个服务器角色并给服务器角色授予相应的权限
实验方法:
使用T-sql语句进行创建test服务器角色,并进行授权bulkadmin给test,代码和得到的test服务器角色如下
实验结果:
成功创建一个服务器角色并给服务器角色授予相应的权限
结果分析:
T-sql语句没有出现错误
4.将登录分别加入到一个固定服务器角色和上面创建的服务器角色中对默认数据库进行操作(如创建表,查询表等)。注意每次只使用一个服务器角色来验证
授权。
实验方法:
1)将登录guest加入到数据库服务器角色sysadmin中
2)执行创建表SCORE
3)执行查询已经建立的表StudentInfo
4)将用户guest从服务器角色sysadmin中删除
5)将登录guest加入到自创建的数据库服务器test中,而再执行查询表StudentInfo和执行创建表Score2时出现错误无法执行
6)实验结果:
将用户guest加入角色sysadmin时,进行查询表StudentInfo,创建表SCORE操作成功,将用户加入角色text时,进行查询表StudentInfo,创建表Score2操作失败,权限被拒绝。
结果分析:
实验中操作对StudentInfo表的查询、创建SCORE表,是因为guest属于服务器角色sysadmin,而服务器角色sysadmin拥有执行SQL Server上的任何操作的权限,所以能够查询StudentInfo和创建SCORE。而将用户从角色sysadmin中删除并加入角色test后,操作查询表StudentInfo、创建Score2失败,是因为服务器角色test没有查询表和创建表的权限,所以会失败。
5.分别使用两个不同的固定数据库角色进行相应的授权操作验证具有操作权限和不具有操作权限的差异。
实验方法:
1)将用户guest_user加入到数据库角色db_owner中