如何终止数据库恢复过程

日期: 2008-06-30 来源:TechTarget中国

  当某一正常运行的大事务(例如:update、delete操作)被终止,且重新启动server后,运行该事务的数据库处于恢复状态,通常这种状态会持续很长时间,当在此恢复过程中没有出现任何异常时,建议用户耐心等待恢复过程完成。同时我们提供以下方法来终止此恢复过程,但请用户注意这些操作将带来数据的不一致性。必要时,希望用户用完整、可靠的数据库备份恢复此数据库。
 
   (1) 启动Backup Server, 后备master数据库(这一步很重要!)


  1>dump database master to “/usr/sybase/master.dup”
  2>go


   (2) 用isql登录到SQL Server, 须用sa帐号 (本文以pubs2数据库为例)


  1>sp_configure “allow updates”, 1
  2>go
  1>begin tran
  2>go
  1> use master
  2> go
  1>update sysdatabases
  2>set status = -32768
  3>where name=”pubs2″
  4>go


    如果得到(1 row affected),则


  1>commit
  2>go


  否则


  1>rollback
  2>go


   (3)这时重新启动SQL Server, 使用bcp工具将该数据库(本例中为pubs2)内的全部数据导出备份(这一步很重要!)


   (4)以sa帐号登录到SQL Server,执行下面操作:


  1>dump tran pubs2 with no_log
  2>go
  1>begin tran
  2>go
  1> use master
  2> go
  1>update sysdatabases
  2>set status=0
  3>where name=”pubs2″
  4>go


    如果得到(1 row affected),则


  1>commit
  2>go


    否则


  1>rollback
  2>go


  1>sp_configure “allow updates” ,0
  2>go


   (5) 重新启动server


   (6) 如果你的数据库原来有dboption(例如”select into”,”trunc log on chkpt”等), 你需要重新设置这些option..


   (7) 当数据库已经恢复可使用状态后,运行dbcc命令检查数据库的一致性(参照”如何检查数据库中数据一致性”文章)


   (8) 后备用户数据库


  例如:


  1>dump database pubs2 to “/usr/sybase/pubs2.dup”
  2>go


 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐