网站大量收购闲置独家精品文档,联系QQ:2885784924

数据库实验并发控制与数据库的安全性课程.doc

数据库实验并发控制与数据库的安全性课程.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验10并发控制与数据库的安全性 〖试验学时〗 2学时 〖目的要求〗 学会创建事务。 学会定义事务的隔离级别。 3.了解事务模式及锁模式。 4.掌握如何添加、删除和修改数据库用户。 5.掌握如何添加、删除数据库角色以及如何为数据库角色添加和删除用户。 6.掌握如何授予、拒绝和剥夺权限。 7.了解如何管理应用程序角色。 8.掌握通过视图保证数据的安全。 〖实验内容〗 1.创建事务。 (1)执行以下语句,创建一个简单的事务。 (2)在事务t1中,设置一个存储点,如果发生了错误进行回滚时,保证前面的插入行行为不丢失。 2.事务模式。 (1)运行如下语句,查看结果。 可以看到,上例中结果显示为:所影响的行数为0行,说明一条记录也未插进去。 提示:在自动提交事务模式下,当遇到的错误是编译错误时,SQL Server回滚的是整个批处理,而不仅仅是一个SQL语句。 (2)运行如下语句,查看结果。 可以看到,上例中结果显示为:所影响的行数为2行,说明前2条记录插入成功。 提示:在自动提交事务模式下,当遇到的错误是运行错误时,SQL Server回滚的仅仅是一个SQL语句。 使用显示事务在student_course数据库中添加选课信息,连续运行两次下面例子,并查看结果。 第一次运行: 第二次运行: (4)使用隐性事务在student_course数据库中添加选课信息,并查看事务数目信息。 提示:由于隐性事务会占用大量资源,一般情况下不建议使用。 3.用户可以自定义事务隔离级别。下面定义一个事务的隔离级别为“可重复读”。 4.锁模式。 (1)在student_course数据库中,使用Holdlock对表student加共享锁。 提示:如果对锁使用不当,非常容易出现死锁。为了预防死锁的发生,根据对数据加锁时的加锁策略,锁可分为乐观锁和悲观锁。提示:乐观锁假设没有发生可能造成死锁的冲突,然后读取数据,处理事务,执行更新,最后检查是否发生冲突。如果不存在冲突,事务就完成了;如果存在冲突,则重复事务直到没有冲突为止。采用悲观锁定时,它总是假设存在冲突,使用一个锁定,处理事务,然后解锁。提示:在SQL Server中,对于Insert、Update和Delete数据修改语句使用排它锁。并发事务中,只有一个事务能够获得资源上的排它锁,其他事务不能在加了排它锁的资源上获得共享锁或排它锁。可以使用Xlock锁定提示,建立对表的排它锁,且在事务或语句结束前一直持有。 (2)在Select语句中使用Xlock锁定提示,悲观锁定SC表。 5.使用企业管理器为SM数据库添加一个数据库用户。 (1)使用对象资源管理器,为Student_course数据库添加一个数据库用户。 (2)使用系统存储过程,为Student_course数据库添加一个数据库用户(先建登录yy)。 提示:一定要在需要添加用户的数据库中执行sp_grantdbaccess,否则无效。 使用对象资源管理器删除数据库用户yy。 此处发现删除不了。 7.使用对象资源管理器为SM数据库创建一个暂无成员的角色specialman 8.将数据库成员yy添加到specialman角色中。 9.删除角色specialman。 删除成员后: 提示:只能删除用户自定义角色,系统的固定角色不能删除;不能删除一个有成员的角色。 10.在Student_course数据库中创建应用程序角色gradeapp,口令为“password”。 11.将表SC上的所有权限授给角色gradeapp。 Sql Server 2008 的all权限定义不了。 12.在所用的应用程序中激活角色gradeapp。 提示:应用程序一旦激活,只有当应用程序与SQL Server断开连接时才被停用。 13.修改应用程序角色gradeapp的口令。 14.删除应用程序角色。 15.练习权限的授予。 (1)把查询student表的权限授给用户yy。 (2)把表SC的全部权限授给用户yy。 (3)把对表SC的查看权限授予所有用户。 (4)把对表SC的插入权限授予用户yy,并允许将此权限再授予其他用户。 (5)把查询表student和更新学号Sno的权限授给用户yy。 16.练习权限的收回。 (1)收回所有用户对表SC的查看权。 (2)收回用户yy查询表student和更新学号Sno的权限。 17.在表Student上创建一个简单的视图,对视图进行加密,并使用对象资源管理器来查看其属性。 18.采用视图机制,使数据库用户yy只能看到表Student中040003班的学生。 〖问题解答〗 1.怎样设置自动提交事务模式? 自动

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档