ehxz 发表于 2004-8-5 20:58:26

【转帖】如何终止数据库恢复过程

<TABLE cellSpacing=0 cellPadding=0 width="96%" align=center border=0>
<CENTER>

<TR>
<TD width="100%" bgColor=#f8f8f8>  当某一正常运行的大事务(例如:update、delete操作)被终止,且重新启动server后,运行该事务的数据库处于恢复状态,通常这种状态会持续很长时间,当在此恢复过程中没有出现任何异常时,建议用户耐心等待恢复过程完成。同时我们提供以下方法来终止此恢复过程,但请用户注意这些操作将带来数据的不一致性。必要时,希望用户用完整、可靠的数据库备份恢复此数据库。
<P>   (1) 启动Backup Server, 后备master数据库<FONT face=隶书 color=#cc0000>(这一步很重要!)</FONT></P>
<P>  1&gt;dump database master to "/usr/sybase/master.dup"
  2&gt;go</P>
<P>   (2) 用isql登录到SQL Server, 须用sa帐号 (本文以pubs2数据库为例)</P>
<P>  1&gt;sp_configure "allow updates", 1
  2&gt;go
  1&gt;begin tran
  2&gt;go
  1&gt; use master
  2&gt; go
  1&gt;update sysdatabases
  2&gt;set status = -32768
  3&gt;Where name="pubs2"
  4&gt;go</P>
<P>    如果得到(1 row affected),则</P>
<P>  1&gt;commit
  2&gt;go</P>
<P>  否则</P>
<P>  1&gt;rollback
  2&gt;go</P>
<P>   (3)这时重新启动SQL Server, 使用bcp工具将该数据库(本例中为pubs2)内的全部数据导出备份<FONT face=隶书 color=#cc0000>(这一步很重要!)</FONT></P>
<P>   (4)以sa帐号登录到SQL Server,执行下面操作:

  1&gt;dump tran pubs2 with no_log
  2&gt;go
  1&gt;begin tran
  2&gt;go
  1&gt; use master
  2&gt; go
  1&gt;update sysdatabases
  2&gt;set status=0
  3&gt;Where name="pubs2"
  4&gt;go </P>
<P>    如果得到(1 row affected),则</P>
<P>  1&gt;commit
  2&gt;go</P>
<P>    否则</P>
<P>  1&gt;rollback
  2&gt;go</P>
<P>  1&gt;sp_configure "allow updates" ,0
  2&gt;go </P>
<P>   (5) 重新启动server</P>
<P>   (6) 如果你的数据库原来有dboption(例如"select into","trunc log on chkpt"等), 你需要重新设置这些option.. </P>
<P>   (7) 当数据库已经恢复可使用状态后,运行dbcc命令检查数据库的一致性(参照"如何检查数据库中数据一致性"文章)</P>
<P>   (8) 后备用户数据库</P>
<P>  例如:
  1&gt;dump database pubs2 to "/usr/sybase/pubs2.dup"
  2&gt;go</P>
<P></P></TD></TR>
<TR>
<TD width="100%" bgColor=#f8f8f8> </TD></TR></CENTER></TABLE>
页: [1]
查看完整版本: 【转帖】如何终止数据库恢复过程

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com