实验5 安全性控制和备份、恢复
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五安全性控制与备份、恢复
一、实验目的
1.理解数据安全性的含义。
2.学会设置SQL Server的身份验证模式。
3.掌握SQL Server中利用对象资源管理器和T-SQL创建和管理Windows登录账户、SQL Server登录账户、数据库用户的方法,掌握创建触发器的方法。
4.掌握自主存取控制进行权限管理的方法,包括授予权限和回收权限。
5.掌握SQL-Sever中的角色管理,掌握怎么样通过角色赋权限给用户。
6.熟练掌握使用企业管理器对数据库进行备份和恢复的方法。
7.熟练掌握分离数据库对数据库文件进行备份以及使用附加的方式进行恢复的方法。
8.掌握使用SQL语句对数据库进行备份和恢复的方法。
9.了解差异备份和完全备份。
二、实验内容
安全性控制
1.在SQL Server企业管理器中,设置服务器身份验证为SQL Server和Windows身份验证模式,修改登录名sa的登陆密码为‘sa’,并以SQL Server 身份sa登录服务器,。
2.在SQL Server中创建SQL Server登录账户“testsql”,再以该账户登录服务器SQL Server服务器,并查看对各数据库的访问控制权。
3.在LibraryLib中创建数据库用户“testdb”(SQL Server登录身份“testsql”),并查看对各数据库的访问控制权。
注意:题1-3参照实验教材P76-87。
撰写实验报告时,本部分可以只给出关键截图即可。
4.授予权限。
1)以管理员身份登陆到服务器,创建数据库登录名U1、U2、U3(SQL Server身份验证模式)。
并分别以这三个登录名,创建LibraryLib的数据库用户U1、U2、U3。
2)新建查询验证用户U1权限。
以U1登录到SQL Server服务器。
在新建查询窗口中输入“Select * From Users”。
运行后查看结果。
结果:对象名'Users' 无效。
3)以管理员的身份登陆服务器,通过企业管理器,对U1授予LibraryLib数据库中Users 表的SELECT权限。
语句:USE LibraryLib;
GRANT SELECT,INSERT ON Users TO U1
4)以管理员身份登陆服务器,通过查询分析器,输入授权语句,对U2授予LibraryLib 数据库中Users表的SELECT和INSERT权限,并允许U2将该权限转授予其它用户。
USE LibraryLib;
GRANT SELECT,INSERT ON Users TO U2 WITH GRANT OPTION
5)通过查询分析器,以U2的身份登录SQL Server服务器。
输入授权语句,执行用户U2将LibraryLib数据库中Users表的SELECT和INSERT权限授予用户U3。
USE LibraryLib;
GRANT SELECT,INSERT ON Users TO U3
6)分别以U1、U2、U3身份登录到SQL Server服务器。
并验证用户U1、U2、U3是否拥有相应权限。
用U1身份登录,输入语句:USE LibraryLib;SELECT * FROM Users
用U2身份登录,输入语句:
USE LibraryLib;
SELECT * FROM Users;
INSERT into Users(UserID,UserPassword,UserPower,UserName,UserDepart,UserTelephone,UserEmail)
V ALUES(’2010071’,’WL2010’,3,’王陵’,’食品’,’85210001’,’liu@’)5.回收权限。
以系统管理员的身份登录SQL Server查询分析器。
执行授权语句,回收用户U1、U2权限,并验证三个用户是否真正丧失对数据库的某种权限。
U1的权限的回收:
USE LibraryLib
REVOKE SELECT ON Users FROM U1;
U2的权限的回收:
USE LibraryLib
REVOKE SELECT ON Users FROM U2;
运行失败,因为如要撤消或拒绝可授予的特权,请指定CASCADE选项。
应该为:
USE LibraryLib
REVOKE SELECT,INSERT ON Users FROM U2 CASCADE;
6.将SQL Server中SQL Server登录账户“testsql”的服务器角色设置为“System administrators”,再以该账户登录服务器SQL Server服务器,并查看对各数据库的访问控制权。
7.查看服务器角色sysadmin包含哪些角色成员,并从sysadmin角色成员中删除testsql。
8.将SQL Server中SQL Server登录账户“testsql”设置为LibraryLib数据库的用户,为其指定数据库角色db_datareader,并查看对各数据库及LibraryLib中的访问控制权。
9.查看数据库角色db_datareader包含哪些角色成员,并从db_datareader角色成员中删除testsql。
10.在数据库LibraryLib中,创建一个数据库角色“dbrole”,它可以查询Users表中UserID、UserName、UserDepart三个属性值,并将dbrole角色赋予用户“U1”、“U2”。
11.验证用户U1、U2是否拥有相应权限。
注意:6-11题参照实验教材P93-101。
并只给出关键截图即可。
备份与恢复
1.分离LibraryLib数据库,然后再附加还原。
体会分离数据库的作用。
2.使用企业管理器提供的备份向导对LibraryLib数据库进行完全备份,备份文件命名为LibraryLib-bak。
3.使用企业管理器提供的备份向导对LibraryLib数据库进行完全备份,创建一个备份设备,逻辑名为mybackupfile,物理名称为D:\ mybackupfile.bak。
然后对数据库LibraryLib 做一次完全备份,备份设备为mybackupfile。
4.新建一个数据库exercise。
通过备份设备mybackupfile在数据库exercise上,强制还原数据库。
(通过“选项”页面勾选此选项)
5.根据所提供的文件LibraryLib-bak,使用企业管理器所提供的还原向导对LibraryLib 数据库进行还原。
6.在LibraryLib数据库中,向Users表中插入一条新纪录。
然后对LibraryLib数据库进行差异备份,逻辑名为LibraryLib-diff。
7.删掉LibraryLib数据库删除,然后通过查询分析器,执行SQL语句,再根据LibraryLib-bak文件还原为student数据库。
继续使用LibraryLib-diff文件进行差异数据库还原。
查看差异还原后的结果。
SQL语句为:
Restore DATABASE databasename from disk='文件路径' WITH NORECOVERY
GO
RESTORE DA TABASE databasename FROM DISK='文件路径'。
8.删除Library数据库,然后通过企业管理器,再根据LibraryLib-bak文件还原为student 数据库。
继续使用LibraryLib-diff文件进行差异数据库还原。