数据库的恢复及权限控制数据库实验6.docx
- 文档编号:12708264
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:17
- 大小:1.13MB
数据库的恢复及权限控制数据库实验6.docx
《数据库的恢复及权限控制数据库实验6.docx》由会员分享,可在线阅读,更多相关《数据库的恢复及权限控制数据库实验6.docx(17页珍藏版)》请在冰豆网上搜索。
数据库的恢复及权限控制数据库实验6
数据库基础与实践实验报告
实验六数据库的恢复及权限控制
班级:
惠普测试142
学号:
**********
*******
日期:
2016-11-15
1实验目的:
1)掌握企业管理器进行数据库完全和差异备份的方法;
2)掌握企业管理器进行数据库还原的方法;
3)掌握利用系统存储过程进行数据库登录名、用户创建的方法;
4)掌握利用SQL进行数据对象权限授予与回收的方法。
2实验平台:
操作系统:
Windowsxp。
实验环境:
SQLServer2000以上版本。
3实验内容与步骤
利用实验一创建的sch_id数据库完成下列实验内容。
1.利用企业管理器对sch_id数据库进行完全备份。
完全备份操作过程步骤截图:
USEsch_id
GO
BACKUPDATABASEsch_id
TODISK='C:
\myprogramfiles\SQLServerBackups\sch_id.Bak'
WITHFORMAT,
MEDIANAME='C_SQLServerBackups',
MEDIADESCRIPTION='数据库sch_id完整备份',
NAME='FullBackupofsch_id'
GO
2.向D表中插入2条记录,再利用企业管理器对sch_id数据库进行差异备份。
D表查询结果截图:
SELECT*FROMD
INSERTINTODVALUES('D7','新闻'),('D8','法学')
SELECT*FROMD
差异备份操作过程步骤截图:
BACKUPDATABASEsch_id
TODISK='C:
\myprogramfiles\SQLServerBackups\sch_id.Bak'
WITHDIFFERENTIAL
GO
3.利用企业管理器和完全备份文件对sch_id数据进行还原。
完全备份文件还原操作过程步骤截图:
USEmaster;
--Makesurethedatabaseisusingthesimplerecoverymodel.
ALTERDATABASEsch_idSETRECOVERYSIMPLE;
GO
--Restorethefulldatabasebackup(frombackupset1).
RESTOREDATABASEsch_id
FROMDISK='C:
\myprogramfiles\SQLServerBackups\sch_id.Bak'
WITHFILE=1,NORECOVERY;
GO
--解决数据库一直处于正在还原状态:
RESTOREDATABASEsch_idWITHRECOVERY
GO
还原后D表查询结果截图:
4.删除D表中的一条记录,再利用企业管理器和差异备份文件对sch_id数据进行还原。
删除记录后D表查询结果截图:
SELECT*FROMD
DELETEFROMDWHEREdno='D5'
SELECT*FROMD
差异备份文件还原操作过程步骤截图:
ALTERDATABASEsch_id
SETOFFLINEWITHROLLBACKIMMEDIATE
USEmaster
GO
RESTOREDATABASEsch_id
FROMDISK='C:
\myprogramfiles\SQLServerBackups\sch_id.Bak'
WITHFILE=1,NORECOVERY,REPLACE;
RESTOREDATABASEsch_id
FROMDISK='C:
\myprogramfiles\SQLServerBackups\sch_id.Bak'
WITHFILE=2,RECOVERY;
GO
USEsch_id
GO
还原后D表查询结果截图:
5.创建数据库管理系统登录名loginid,其中id为本人学号后两位,密码为学号后三位。
创建数据库管理系统登录名testid,其中id为本人学号后两位,密码为学号后三位。
(提示:
使用系统存储过程sp_addlogin)
创建登录语句:
CREATELOGINlogin13
WITHPASSWORD='213';
CREATELOGINtest13
WITHPASSWORD='213';
数据库系统登录名列表截图:
SELECT*FROMsyslogins
6.创建sch_id数据库的用户userid和tigerid,其中id为本人学号后两位,这两个用户分别关联第5题中的两个登录。
(提示:
使用系统存储过程sp_adduser)
用户创建语句:
USEsch_id;
GO
CREATEUSERuser13FORLOGINlogin13;
CREATEUSERtiger13FORLOGINtest13;
GO
Sch_id数据库中用户列表截图:
SELECT*FROMsys.sysusers
Userid用户登录数据库主要过程截图:
利用userid用户查询Sch_id数据库中的学生表,操作结果截图:
7.利用sa登录,为userid用户授予查询学生表的权限。
授予权限的语句:
USE[master]
GO
/*Forsecurityreasonstheloginiscreateddisabledandwitharandompassword.*/
/******Object:
Login[sa]ScriptDate:
2016/11/2814:
08:
12******/
CREATELOGIN[sa]WITHPASSWORD=N'ErhYbjE18WueseYK2SYUFXVUrIHRUqE4ftqxSm8/iN4=',DEFAULT_DATABASE=[master],DEFAULT_LANGUAGE=[简体中文],CHECK_EXPIRATION=OFF,CHECK_POLICY=ON
GO
ALTERLOGIN[sa]DISABLE
GO
ALTERSERVERROLE[sysadmin]ADDMEMBER[sa]
GO
GRANTSELECTONSTOuser13
利用userid用户查询Sch_id数据库中的学生表,操作结果截图:
userid用户将学生表查询权限授予tigerid用户的操作结果截图:
8.利用sa登录,为userid用户授予添加学生表元组的权限,并允许userid用户传播该权限,且userid用户将该权限授予了tigerid用户。
(提示:
加withgrantoption)
授予权限的语句:
GRANTSELECTONSTOuser13WITHGRANTOPTION
GRANTSELECTONSTOtiger13
利用userid用户向Sch_id数据库中的学生表添加一位学生的元组,操作结果截图:
userid用户将学生表插入权限授予tigerid用户的操作结果截图:
利用tigerid用户向Sch_id数据库中的学生表添加一位学生的元组,操作结果截图:
9.利用sa登录,收回userid用户对学生表插入数据的权限。
(提示:
加cascade)
回收权限的语句:
REVOKEINSERTONSTOuser13CASCADE
利用userid用户向Sch_id数据库中的学生表添加一位学生的元组,操作结果截图:
利用tigerid用户向Sch_id数据库中的学生表添加一位学生的元组,操作结果截图:
4深入思考与讨论
1)请按自己的理解,说明一下SQLServer中权限是如何级联回收的。
若收回用户A对表T的插入权限,则由A授予其他用户的该权限也被收回。
就好比一条河流,如果从中游修了一座大坝,下游河水也会断流。
2)第9题中,如果sa登录后,在回收userid用户对学生表插入数据的权限之前,先为tigerid用户授予了对学生表插入数据的权限,然后再回收userid用户对学生表插入数据的权限,此时tigerid用户是否还能向学生表插入数据?
请结合自己的理解,解释原因。
GRANTINSERTONSTOuser13WITHGRANTOPTION
GRANTINSERTONSTOtiger13WITHGRANTOPTION
REVOKEINSERTONSTOtiger13
INSERTINTOSVALUES('S31','刘晶晶','女',21,'D1',8)
不能。
若sa收回用户user13对表S的插入权限,则由user13授予其他用户的该权限也被收回。
就好比一条河流,如果从上游修了一座大坝,下游河水也会断流。
3)第9题中,如果sa登录后,不回收userid用户对学生表插入数据的权限,而是回收tigerid用户对学生表插入数据的权限,此时tigerid用户是否还能向学生表插入数据?
请结合自己的理解,解释原因。
能。
由图可知,tigerid用户依然能向学生表插入数据。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 恢复 权限 控制 实验