数据库实验并发控制与数据库的安全性_第1页
数据库实验并发控制与数据库的安全性_第2页
数据库实验并发控制与数据库的安全性_第3页
数据库实验并发控制与数据库的安全性_第4页
数据库实验并发控制与数据库的安全性_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验10并发控制与数据库的安全性〖试验学时〗2学时〖目的要求〗学会创建事务。学会定义事务的隔离级别。3.了解事务模式及锁模式。4.掌握如何添加、删除和修改数据库用户。 5.掌握如何添加、删除数据库角色以及如何为数据库角色添加和删除用户。6.掌握如何授予、拒绝和剥夺权限。7.了解如何管理应用程序角色。8.掌握通过视图保证数据的安全。〖实验内容〗1.创建事务。(1)执行以下语句,创建一个简单的事务。(2)在事务t1中,设置一个存储点,如果发生了错误进行回滚时,保证前面的插入行行为不丢失。2.事务模式。(1)运行如下语句,查看结果。可以看到,上例中结果显示为:所影响的行数为0行,说明一条记录也未插进去。提示:在自动提交事务模式下,当遇到的错误是编译错误时,SQLServer回滚的是整个批处理,而不仅仅是一个SQL语句。(2)运行如下语句,查看结果。可以看到,上例中结果显示为:所影响的行数为2行,说明前2条记录插入成功。提示:在自动提交事务模式下,当遇到的错误是运行错误时,SQLServer回滚的仅仅是一个SQL语句。使用显示事务在student_course数据库中添加选课信息,连续运行两次下面例子,并查看结果。第一次运行:第二次运行:(4)使用隐性事务在student_course数据库中添加选课信息,并查看事务数目信息。提示:由于隐性事务会占用大量资源,一般情况下不建议使用。3.用户可以自定义事务隔离级别。下面定义一个事务的隔离级别为“可重复读”。4.锁模式。(1)在student_course数据库中,使用Holdlock对表student加共享锁。提示:如果对锁使用不当,非常容易出现死锁。为了预防死锁的发生,根据对数据加锁时的加锁策略,锁可分为乐观锁和悲观锁。提示:乐观锁假设没有发生可能造成死锁的冲突,然后读取数据,处理事务,执行更新,最后检查是否发生冲突。如果不存在冲突,事务就完成了;如果存在冲突,则重复事务直到没有冲突为止。采用悲观锁定时,它总是假设存在冲突,使用一个锁定,处理事务,然后解锁。提示:在SQLServer中,对于Insert、Update和Delete数据修改语句使用排它锁。并发事务中,只有一个事务能够获得资源上的排它锁,其他事务不能在加了排它锁的资源上获得共享锁或排它锁。可以使用Xlock锁定提示,建立对表的排它锁,且在事务或语句结束前一直持有。(2)在Select语句中使用Xlock锁定提示,悲观锁定SC表。5.使用企业管理器为SM数据库添加一个数据库用户。(1)使用对象资源管理器,为Student_course数据库添加一个数据库用户。(2)使用系统存储过程,为Student_course数据库添加一个数据库用户(先建登录yy)。提示:一定要在需要添加用户的数据库中执行sp_grantdbaccess,否则无效。使用对象资源管理器删除数据库用户yy。此处发现删除不了。7.使用对象资源管理器为SM数据库创建一个暂无成员的角色specialman8.将数据库成员yy添加到specialman角色中。9.删除角色specialman。删除成员后:提示:只能删除用户自定义角色,系统的固定角色不能删除;不能删除一个有成员的角色。10.在Student_course数据库中创建应用程序角色gradeapp,口令为“password”。11.将表SC上的所有权限授给角色gradeapp。SqlServer2008的all权限定义不了。12.在所用的应用程序中激活角色gradeapp。提示:应用程序一旦激活,只有当应用程序与SQLServer断开连接时才被停用。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.怎样设置自动提交事务模式?自动提交事务是SQLServer的默认事务管理模式,只要自动提交事务模式没有被显式或隐性事务代替,则SQLServer连接时仍以该默认管理模式进行操作。2.SQLServer的权限分为几种?SQLServer的权限分为3种:对象权限、语句权限和隐含权限。3.应用程序角色有什么作用?与标准数据库角色有什么区别?SQLServer2005(或SQLServer2000)中设计了应用程序角色的概念,这种安全机制可以指定一个数据库或其中的某些对象只能用某些特殊的应用程序访问,而不能允许用户用任何工具来进行操作,更有利于保证数据的完整性和一致性。它和标准数据库角色的区别如下。应用程序角色不包含成员,任何用户都不能加入应用程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论