数据库 实验七 事务管理与数据库备份、恢复和安全实验

–三、实验步骤:
–1、事务操作
–在选修数据库中,以Student(sno,sname,ssex,sage,sdept),Course(cno,cname,cpno,credit),SC(sno,cno,grade)表创建下列事务。
–(1)将学生“吴敏”的“计算机基础”的课程成绩改为77分。

DECLARE @sno char(9),@cno char(5) 
select @sno=sno from student where sname='吴敏'
select @cno=cno from course where cname='计算机基础'
BEGIN TRANSACTION 
	UPDATE SC
	  SET grade=77
	  WHERE sno =@sno and cno=@cno
COMMIT TRAN ;
select sc.*,s.sname from sc left join student s on s.sno=sc.sno;

–(2)将课程“数据结构”和“计算机基础”的课程号互换。

DECLARE @cno1 char(5),@cno2 char(5) 
select @cno1=cno from course where cname='数据结构'
select @cno2=cno from course where cname='计算机基础'
BEGIN TRANSACTION
	UPDATE Course
	  SET cname='计算机基础'
	  WHERE cno=@cno1
	  

UPDATE Course
	  SET cname='数据结构'
	  WHERE cno=@cno2

COMMIT TRAN;
select *from course;

–(3)将学生“吴敏”选修的“计算机基础”课程转给“李勇”,“数据结构”转给“王敏”。

DECLARE @cno11 char(5),@cno22 char(5) ,@grade1 int,@grade2 int,@sno1 char(9),@sno2 char(9),@sno3 char(9)
select @sno1=sno from student where sname='吴敏'
select @sno2=sno from student where sname='李勇'
select @sno3=sno from student where sname='王敏'
select @cno11=cno from course where cname='数据结构'
select @cno22=cno from course where cname='计算机基础'
select @grade1=grade from sc where cno=@cno11
select @grade2=grade from sc where cno=@cno22
BEGIN TRANSACTION
	delete sc where sno=@sno1 and cno in(@cno11,@cno22)
	insert into sc values(@sno2,@cno22,@grade2)
	insert into sc values(@sno1,@cno11,@grade1)
COMMIT TRAN;
select sc.*,s.sname,c.cname from sc ,course c, student s where s.sno=sc.sno and c.cno=sc.cno;

–2、安全管理
–(1)创建一个Windows认证的登录账户newuser,并定义数据库用户new_user,允许该用户对选修数据库进行查询。

exec sp_addlogin newuser,'123456';
exec sp_grantdbaccess newuser,new_user ;
grant   select  on  student   to    new_user;
grant select any table to new_user; -- 所有表的select 权限赋予user

–(2)创建一个Windows认证的登录账户student,并定义数据库用户student_user,设置允许该用户对选修数据库进行查询,对SC的grade列进行插入、修改和删除。

exec sp_addlogin student,'123456';
exec sp_grantdbaccess student,student_user ;
grant select on sc to student_user;
grant insert,update,delete on sc(grade) to student_user;

–3、数据库的备份与恢复
–(1)对学生选修数据库进行完整备份、差异备份、事务日志备份和文件组备份。
– mydb2是数据库名

--完整备份
BACKUP DATABASE mydb2 TO disk='D:\sc\sc_backup.bak';
--差异备份
BACKUP DATABASE mydb2 TO disk='D:\sc\firstbackup'  with differential,noinit ;
--事务日志备份
BACKUP LOG mydb2 TO disk='D:\sc\firstbackup'  with noinit ;
--文件组备份
BACKUP DATABASE mydb2 FILEGROUP='文件组名'  TO disk='firstbackup'  with noinit ;
  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
睿备份独有自主数据库与文件实时监控备份双引擎!全免费、纯绿色、无需安装、操作便捷。跨平台支持本地/远程/FTP文件、MSSQL、ORACLE、MySQL、PostgreSQL、达梦等数据库完全、增量、事务日志备份与恢复。 只需一机安装,即可管理无限台计算机的数据库/文件备份;类Windows计划任务模式的备份任务设置,可自由组合无限复合式备份任务;支持备份文件ZIP压缩后通过Lan/Ftp/云/Email传输存储,自由删除指定周期与存储位置的备份文件;支持第三方数据库备份文件的恢复;通过“睿云”技术,全面实现端到端、平台到端的备份指令推送与日志管理等功能。 睿备份功能特色 1、跨系统、跨平台支持,Windows/Linux/Unix一机(软件)拿下; 2、创新的集中式管理技术,只需在一台计算机安装,即可管理无限台计算机的数据库/文件备份; 3、混合实例技术,可无限扩展任意实例与任务,不在需要用一堆软件解决问题; 4、自动/手工备份本地或远程MSSQL、ORACLE、MySQL、PostgreSQL、达梦等数据库; 5、自动/手工备份本地、远程、FTP文件备份; 6、备份文件可通过LAN/FTP/云/EMAIL进行异地存储/传输,并可指定周期进行自动删除; 7、支持第三方软件MSSQL、MySQL、PostgreSQL数据库备份文件即时恢复; 8、查阅详尽周全的粒度化日志信息; 9、开放的插件技术,可自由扩展相关插件; 10、端到端、平台到端的备份指令推送、日志管理等功能。 睿备份截图   如图所示,这是睿备份软件的主界面,用户可以点击界面的各种按钮实现自己所需要的各种功能。     如图所示,这是睿备份软件的任务界面,用户则可以在这里查看各种数据库可实施的任务。     如图所示,这是睿备份软件的日志界面。     如图所示,这是睿备份软件的恢复界面。软件的功能就大致介绍到这里了,软件其余的具体功能就有小伙伴们自己去发掘吧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值