实验4数据库安全保护实验Word文档格式.docx
- 文档编号:6022259
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:37
- 大小:2.11MB
实验4数据库安全保护实验Word文档格式.docx
《实验4数据库安全保护实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验4数据库安全保护实验Word文档格式.docx(37页珍藏版)》请在冰点文库上搜索。
它要求用户登录到Windows系统,当用户访问SQLServer时,不用再次登录。
虽然用户仍会被提示登录,但SQLServer的用户名会自动从用户网络登录ID中提取。
Windows身份验证模式最适用于只在部门访问数据库的情况。
与SQLServer身份验证方式相比,Windows身份验证方式具有下列优点:
提供了更多的功能,如安全确认和口令加密、审核、口令失效、最小口令长度和账号锁定;
通过增加单个登录账号,允许在SQLServer系统中增加用户组;
允许用户迅速访问SQLServer系统,而不必使用另一个登录账号和口令。
混合身份验证模式既允许使用Windows身份验证方式,又允许使用SQLServer身份验证方式。
它使用户既可以登录SQLServer,也可用Windows的集成登录。
当使用混合模式时,无论是使用Windows身份验证方式的用户,还是使用SQLServer身份验证方式的用户,都可以连接到SQLServer系统上。
也就是说,身份验证模式是对服务器来说的,而身份验证方式是对客户端计算机来说的。
查看与更改身份验证模式
(1)在【对象资源管理器】面板中,展开服务器结点,右键鼠标,快捷菜单中执行【属性】命令。
(2)在【服务器属性】对话框中,选择【安全性】,窗口右侧即会显示出当前的身份验证模式。
注:
设置改变后,用户必须停止并重新启动SQLServer服务,设置才生效。
创建SQLServer登录
一、创建Windows系统账户登录
(1)打开【计算机管理】面板,找到【本地用户和组】,右键单击【用户】,执行快捷菜单中的【新用户】命令,按下图所示新建【TEST】用户。
(2)启动并登录SQLServerManagementStudio,在【对象资源管理器】面板中展开【安全性】分支。
(3)鼠标右键单击【登录名】分支,在弹出的快捷菜单中选择【新建登录名】命令,弹出【登录名-新建】对话框,选中【Windows身份验证】单选按钮,单击【搜索】按钮。
(4)在弹出的【选择用户或组】对话框中点击【高级】按钮。
(4)单击【立即查找】按钮,在搜索结果中选择【TEST】,确定操作。
(5)观察实验结果。
在【安全性】分支中已可看到新建的【TEST】登录名,验证实验成功。
二、创建标准登录账户
假设要在SQLServer系统中新加一个名为MyLog的用户,操作步骤如下。
(1)启动并登录SQLServerManagementStudio,在【对象资源管理器】面板中展开【安全性】分支。
(2)右击【登录名】分支,在弹出的快捷菜单中选择【新建登录名】命令,弹出【登录名-新建】对话框。
(3)在【登录名】文本框中输入“MyLog”,点选【SQLServer身份验证】单选按钮,在【密码】与【确认密码】文本框中输入“SO9”。
注意,不要采用与用户名相同的密码,大家在实际使用时要特别留意,因为这样做会大大降低数据库的安全性。
在【默认数据库】下拉列表框中选择【master】选项,也就是当新建的用户登录,所有的默认操作都将是针对数据库master的。
确认操作。
(4)验证实验结果。
(5)退出SSMS,并重新启动,在【SQLServer身份验证】模式下,用MyLog登录服务器。
尝试连接【MASTER】数据库。
尝试连接【MyDB】数据库。
观察结果,分析原因。
利用T_SQL添加SQLServer账号:
执行系统存储过程sp_addlogin:
Sp_addloginlogin_id[,passwd[,defdb[,deflanguage]]]
如:
Sp_addloginFOX,Saying,pubs
其中:
Login_id为注册标识或SQLServer用户名;
Passwd为口令,默认口令是NULL(即不需要口令),用户可以在任何时候使用;
sp_password系统存储过程改变自己的口令;
Defdb指定用户在注册时连接到的默认数据库,如果没有指定默认数据库,则默认数据库是master;
Deflanguage说明用户注册到SQLServer时使用的默认语言代码。
Ø
修改登录账号的属性
①利用企业管理器:
用鼠标双击要修改属性的登录账号,在属性对话框中进行修改。
②利用T_SQL:
涉及以下几个系统存储过程:
sp_password修改账号口令,sp_defaultdb修改账号默认数据库,sp_defaultlanguage修改账号默认语言。
其中,系统存储过程sp_password的格式是:
sp_passwordold_passwd,new_passwd[,login_id]
sp_passwordSaying,Singing,FOX
删除登录账号
右击要删除的账号,在弹出的快捷菜单中选择“删除”命令,在确认对话框中单击“是”按钮,这个登录账号就永久被删除了。
使用系统存储过程sp_droplogin来删除SQLServer登录账号。
sp_droploginstudent
sp_droploginFOX
启用和禁用登录
要启用、禁用或解锁一个登录的操作步骤:
(1)启动MicrosoftSQLServerManagementStudio,在【对象资源管理器】视图中,连接到适当的服务器,然后向下浏览至【安全性】文件夹。
(2)展开【安全性】文件夹和【登录名】文件夹以列出当前的登录。
右击【MyLog】,然后从快捷菜单中选择“属性”以查看此登录的属性。
这样会打开“登录属性”对话框。
(3)在【登录属性】对话框左侧列表中选择【状态】选项,打开【状态】页面。
(4)然后可以进行以下操作:
✧要启动登录,在“登录”选项区下选择“启用”单选按钮。
✧要禁用登录,在“登录”选项区下选择“禁用”单选按钮。
(5)最后单击“确定”按钮,完成操作。
修改登录
具体操作步骤如下:
(1)选择Mylog,打开“登录属性”对话框。
(2)单击【登录属性】对话框左侧的【用户映射】选项,可以为当前用户添加一个连接数据库【MyDB】。
(3)切换用MyLog登录连接服务器,观察MYDB数据库。
创建数据库用户
(1)通过设置“用户映射”指明数据库用户。
首先将【MyDB】数据库【安全性】下面的【MyLog】删除。
(2)选择【MyDB】数据库结点,展开,定位至【安全性】,鼠标右键点击【用户】,执行快捷菜单中的【新建用户】命令。
(3)如下图所示的位置,点击【·
·
】按钮。
(4)在【选择登录名】对话框中,点击【浏览】按钮。
(5)在【查找对象】对话框中,勾选【MyLog】,确定操作。
(6)录入新建的用户名【MyUser】,再次执行【确定】按钮。
(7)观察并确认试验结果。
操作权限
权限分为3种状态:
授予、拒绝、撤销,可以使用如下的语句来修改权限的状态。
v授予权限(GRANT):
授予权限以执行相关的操作。
通过角色,所有该角色的成员继承此权限。
v撤销权限(REVOKE):
撤销授予的权限,但不会显示阻止用户或角色执行操作。
用户或角色仍然能继承其他角色的GRANT权限。
v拒绝权限(DENY):
显式拒绝执行操作的权限,并阻止用户或角色继承权限,该语句优先于其他授予的权限。
一、授予权限
语法格式:
GRANT
{ALL|statement[,..n]}
TOsecurity_account[,..n]
试分析以下语句功能:
USEMyDB
Go
GRANTSELECT,INSERT
ONSTUDENTS
TOMyUser
GO
切换至MYLOG连接服务器。
按照下图所示执行对应操作,理解权限和授权的含义。
分析为何SQLServer系统对于语法正确的SQL语句会差别对待,允许执行或拒绝执行的依据是什么?
切换至Windows验证。
分析下语句功能:
GRANTCREATETABLE
二、回收权限
REVOKE
FROMsecurity_account[,..n]
执行以下语句,分析其功能:
REVOKEINSERT
FROMMyUser
删除SQLServer登录
当一个用户不再需要具有数据库操作的权限时,在安全管理上要进行用户的删除操作。
下面以删除用户Teacher为例,讲解在SQLServer中删除用户登录的操作步骤。
(1)启动并登录SQLServerManagementStudio,在【对象资源管理器】面板中展开【安全性】|【登录名】分支,右击用户名【Mylog】,在弹出的快捷菜单中选择【删除】命令,弹出【删除对象】对话框。
(2)单击【确定】按钮,这个用户就删除了,此时会弹出一个删除登录名提示框。
(3)如果要彻底删除用户,还要展开【数据库】|【MyDB】|【安全性】|【用户】分支,右击【MyUser】,弹出【删除对象】对话框。
单击【确定】按钮,登录名将彻底从系统中删除。
备份数据库
备份就是制作数据库结构和数据的拷贝,以便在数据库遭到破坏时能够修复数据库。
数据库的破坏是难以预测的,因此必须采取能够还原数据库的措施。
一般地,造成数据丢失的常见原因包括以下几种。
v软件系统瘫痪
v硬件系统瘫痪
v人为误操作
v存储数据的磁盘被破坏
v地震、火灾、战争、盗窃等灾难
用户执行完全的数据库备份,包括所有对象、系统表以及数据。
在备份开始时,SQLServer复制数据库中的一切,而且还包括备份进行过程中所需要的事务日志部分。
因此,利用完整备份还可以还原数据库在备份操作完成时的完整数据库状态。
完整备份方法首先将事务日志写到磁盘上,然后创建相同的数据库和数据库对象及复制数据。
由于是对数据库的完整备份,因而这种备份类型速度较慢,将占用大量磁盘空间。
在对数据库进行完整备份时,所有未完成的事务或者发生在备份过程中的事务都将被忽略。
完整备份是指备份整个数据库,不仅包括表、视图、存储过程和触发器等数据库对象,还包括能够恢复这些数据的足够的事务日志。
完整备份的优点是操作比较简单,在恢复时只需要一步就可以将数据库恢复到以前的状态。
SQLServer2000有数据库完全备份、数据库差异备份、事务日志文件备份、文件及文件组备份等四种形式。
在备份一个数据库之前,需要先创建一个备份设备,然后再去复制要备份的数据库、事务日志、或文件/文件组等,而备份设备可以是磁带、磁盘文件或是网络驱动。
一、备份设备
使用SQLServerManagementStudio创建备份设备的具体步骤如下:
(1)启动SQLServerManagementStudio,打开SQLServerManagementStudio窗口,并使用windows或者SQLServer身份验证建立连接。
(2)在“对象资源管理器”视图中,展开服务器的“服务器对象”文件夹
(3)右击“备份设备”,然后从快捷菜单中选择“新建备份设备”,打开“备份设备”对话框,
(4)在“设备名称”文本框中,输入“我的备份”。
设置好目标文件或者保持默认值,这里必须保证SQLServer2008所选择的硬盘驱动器上有足够的可用空间。
(5)单击“确定”按钮完成创建永久备份设备。
二、数据库的备份
按步骤实现对数据库【MyDB】的备份操作。
(1)启动SSMS,并连接到SQLServer中的数据库。
在【对象资源管理器】中展开【数据库库】结点,右键快捷菜单中执行【新建数据库】命令。
(2)将新建的数据库命名为【MyDB】,其余保留默认设置不变。
(3)在下图所示的位置处,点击【可用数据库】列表,将其由默认的【master】改选为我们刚新建的数据库【MyDB】。
(4)将下面所有的SQL语句复制、粘贴至查询窗口中执行。
CREATETABLEStudents
(
SnoCHAR(5)PRIMARYKEY,
SnameCHAR(20)NOTNULLUNIQUE,
SsexCHAR
(2)CONSTRAINTde_SsexDEFAULT'
男'
SageINTCHECK(SageBETWEEN16AND24),
SdeptCHAR(15)CHECK(SdeptIN('
电子商务'
'
计算机'
数学'
))
)
CREATETABLECourses
CnoCHAR(5)PRIMARYKEY,
CnameCHAR(20)NOTNULL,
Pre_CnoCHAR(5)REFERENCESCOURSES(Cno),
CreditsINT,
);
CREATETABLEReports
(
SnoCHAR(5)REFERENCESSTUDENTS(Sno),
CnoCHAR(5)REFERENCESCourses(Cno),
GradeINTCHECK(Grade>
=0ANDGrade<
=100),
CONSTRAINTSno_CnoPRIMARYKEY(Sno,Cno)
INSERTINTOStudentsVALUES('
S01'
王建平'
21,'
);
S02'
刘华'
女'
19,'
S03'
范林军'
18,'
S04'
李伟'
INSERTINTOCoursesVALUES('
C01'
英语'
NULL,4);
C05'
C++'
NULL,3);
C02'
数据结构'
2);
C03'
数据库'
C04'
DB_设计'
C07'
操作系统'
3);
C06'
网络原理'
INSERTINTOReportsVALUES('
92);
84);
90);
94);
82);
72);
75);
语句执行完毕后,请先检查【MyDB】数据库中是否成功新建三张表,三张表中的数据是否成功录入。
(5)鼠标右键点击要备份的数据库【MyDB】,在弹出的快捷菜单中选择【任务】/【备份】命令,如下图所示:
(6)进入【备份数据库】对话框,在【常规】选项卡中设置数据库的数据源和备份地址。
下图中,先点击右下角的【添加】按钮。
【选择备份目标】处,点击【·
】按钮。
打开了【定位数据库文件】对话框,设置备份路径为D:
\,备份文件名为MyBack,确定你的操作。
(7)回到【选择备份目标】对话框,点击【确定】按钮,等待备份成功的提示。
执行下语句,分析其功能:
GO
TRUNCATETABLEREPORTS
请同学自己在相应的操作窗口,用相应的方法来验证你的分析。
恢复数据库
(1)鼠标右键单击要恢复的数据库【MyDB】,在弹出的快捷菜单中依次选择【任务】/【还原】/【数据库】命令,如下图所示:
(2)进入【还原数据库】对话框,在【常规】选项卡中,确认还原的目标和源数据库以及用于还原的备份。
(3)在【还原数据库】对话框的【选项】选项卡中,勾选【覆盖现有数据库】复选框。
(4)对数据库【MyDB】的还原成功完成。
分离和附加数据库
看图说话。
参考以下操作截图,结合你的实验过程,请用你的语言描述如何将数据库从服务器上分离出去,又如何将数据库重新附加回来,要求给出详尽步骤。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 数据库 安全 保护