数据库实验 实验八 数据库的安全性

注:此内容仅仅只是记录成长与分享学习,不能保证绝对正确

实验八 数据库的安全性

一 实验目的

1. 掌握SQL Server的数据库备份和恢复。

2. 学会创建登录用户并向其授予数据库访问权限,熟练对用户进行权限的授予和回收。

二 实验要求

1. 请大家务必动手完成实验,实验过程中,会随机抽查提问,作为实验成绩重要参考。

2. 请在本实验报告指定方框认真填写对应的实验代码或实验结果。

三 实验内容

1. 为studb数据库创建一个名为studb_back的备份,备份studb数据库。

2. 将创建的备份studb_back还原覆盖当前数据库。

3. 分别使用“向导”和SQL语句进行用户的创建,以及权限的授予和回收操作,并验证所授予的权限。

四 实验步骤

附加前述数据库,按下述要求完成实验:

1. 备份数据库

快捷菜单如图8.1,点击菜单进入如图8.2所示备份设置窗口,在该窗口中进行备份位置、名称、备份周期(假设5天)等基本设置后,点击确定进行备份即可。

                  

        图8.1 数据库备份菜单选择                                    图8.2 备份设置窗口

2. 还原备份的数据库

菜单选择如图8.3,点击后出现如图8.4 所示还原数据库设置窗口,在此窗口可以选择用于还原的备份源,此处备份源默认为刚刚备份的studb_back,无需特别设置。还原之前,在图8.4窗口点击“选项”进入“选项”选项卡,如图8.5,点击“覆盖现有数据库”复选框。点击“确定”进行还原。

   

图8.3 恢复数据库菜单选择                 图8.4 还原数据库设置窗口


图8.5 “还原数据库”选项

 

3. 通过“向导”进行用户的创建和权限的授予

1)通过图8.6所示菜单新建登录名(student),对应的登录密码自定,将该用户映射到数据库studb。如出现创建错误,尝试取消创建登录名首页中的“强制实施密码策略”复选框。

   

                          图8.6 新建登录名                               图8.7 设置数据表S的用户权限

2)设置登录用户student对数据表S仅具有查询权限,右击数据表S进入S的属性窗口,进行权限设置,如上页图8.7所示。

3)验证上述权限设置效果。退出SQL Server环境,用student登录名重新登录(若无法登录,用Windows身份登录SQL Server,右击当前SQL Server实例(通常是:机器名\SQLEXPRESS)选择属性,在对话框中点击“安全性”,在“服务器身份验证”下选择“SQL Server和windows身份验证模式”,然后重新启动SQL Server服务,可通过命令services.msc打开服务窗口)。进入后只有数据表S可见,别的表不可见,对S可以进行查询,不能进行删除等更新操作,如图8.8。

图8.8 验证权限

 

4. 通过SQL语句进行用户的创建和权限的授予

首先,退出SQL Server环境,改用windows身份验证重新进入SQL Server环境。通过SQL语句创建两个新的登录名:student_1与guest,密码分别为“student”与“guest”,步骤如下:

1)在命令窗口中输入如下SQL命令,执行后即创建成功:

sp_addlogin  ' student_1 ',' student_1 ','studb'

sp_addlogin  ' guest ',' guest ','studb'

2)在当前数据库为studb时,在命令窗口中输入:

sp_grantdbaccess  'student_1'

sp_grantdbaccess  'guest'

执行该SQL命令,使得student_1及guest为当前数据库studb的用户。

3)授权

① 在命令窗口中输入下列授权语句,给用户student_1授予查询SC的权限:

GRANT  select   on SC to student_1

② 在命令窗口中输入下列授权语句,给用户student_1授予数据表S所有操作权限,并允许其给其他用户授权(with GRANT option):

GRANT   all privileges  on S to student_1 with GRANT option

4)退出SQL Server,通过SQL Server认证方式重新用student_1帐号登录,验证上述授权效果:

① 验证能否通过student_1账户删除或更新数据表SC中的数据。

② 由于第3)步授予了student_1可以给数据表S其他用户授权的权限,所以可通过下述语句给guest用户授权:

GRANT SELECT on S to guest

GRANT DELETE on S to guest

③ 退出SQL Server,改用guest帐号重新登录,分别验证能否以guest身份查询、更新数据表S,可看出guest对S具有SELECT、DELETE权限。

5)验证

① 退出SQL Server,通过SQL Server认证方式重新用student_1帐号登录,通过执行下述语句收回guest帐号对数据表S的DELETE权限:

REVOKE DELETE on S from guest

② 退出SQL Server,改用guest帐号重新登录,验证guest帐号对S的DELETE权限是否已被回收。

五 自选动作

请在下框填写除了上述实验内容之外自选的实验内容:

将S表的更新权限授予所有用户。

grant update

on S

to public

六 实验总结

通过本次实验的实操练习,使我掌握了SQL Server的数据库备份和恢复,也学会创建登录用户并向其授予数据库访问权限,熟悉了对用户进行权限的授予和回收达到操作,从而的数据库的用户管理方面的知识有了更深一步的理解和认知。

                                                                                                                    成绩               

一、实验目的 使学生加深对数据库安全性和完整性的理解。并掌握SQL Server中有关用户、角色及操作权限的管理方法。熟悉通过SQL语句对数据进行完整性控制。 二、实验内容和要求   数据库安全性实验,在SQL Server企业管理器中,设置SQL Server的安全认证模式,实现对SQL Server的用户和角色管理,设置和管理数据操作权限。   具体内容如下:   设置SQL Server的安全认证模式(Windows或SQL Server和Windows(S)认证模式)。   登录的管理 创建一个登录用户   数据库用户的管理 登陆用户只有成为数据库用户(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。   角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。   在学生表中定义主键、外键约束。   在课程表的“课程名”字段上定义唯一约束。   在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100.“课程号”字段只能输入数字字符。   定义规则,并绑定到读者表的“性别”字段,使之只能取“男、女”值。   在学生表中增加出生日期字段。定义缺省,并绑定到借阅表的“借阅日期”上,使之只能取当前日期。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫Ycg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值