WEB开发网
开发学院数据库MSSQL Server 怎样终止:SQL Server数据库的恢复过程 阅读

怎样终止:SQL Server数据库的恢复过程

 2007-07-31 09:47:33 来源:WEB开发网   
核心提示:当某一正常运行的大事务(例如:update、delete操作)被终止,且重新启动server后,怎样终止:SQL Server数据库的恢复过程,运行该事务的数据库处于恢复状态,通常这种状态会持续很长时间,希望用户用完整、可靠的数据库备份恢复此数据库, (1) 启动Backup Server, 后备master数据库(这

当某一正常运行的大事务(例如: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

Tags:怎样 终止 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接