Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1192877
  • 博文数量: 212
  • 博客积分: 10450
  • 博客等级: 上将
  • 技术积分: 1957
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-23 09:00
文章分类

全部博文(212)

文章存档

2012年(1)

2011年(16)

2010年(11)

2009年(9)

2008年(22)

2007年(36)

2006年(117)

分类: Sybase

2006-03-02 11:15:46

解决数据库被挂起的问题

  
  现象:Error 926
     Severity Level 14
     Error Message Text
     Database 'xx' cannot be opened - it has been marked SUSPECT by recover Explanation

   (1) 当你使用Transact_SQL命令操作这个数据库的数据时, 出现这个信息, 这是一个严重的错误, 如果你要使用这个数据库的数据, 必须改正这个错误.

   (2) 启动Backup Server, 后备master数据库(这一步很重要!)

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

   (3) 用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

  (4)重新启动SQL Server.

   注:SQL Server重新启动之后,当发现数据库本身存在不可恢复的问题时,如数据页损坏等,且没有完好的数据库备份,一定要用bcp...out备份用户数据库数据。此时,以下步骤省略,并按照“如何删除坏的用户数据库”文章删除此数据库。之后重建此数据库,恢复备份。

   否则,按以下步骤继续操作:

  用sa帐号注册到SQL Server.
  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)重新启动SQL Server.

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

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

   (8) 备份用户数据库

   例如:
  1>dump database pubs2 to "/usr/sybase/pubs2.dup"
  2>go

阅读(2092) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~