Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103068514
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Sybase

2008-05-17 21:46:24

  来源:

 Q.如何解决数据库被标记为"suspect"的问题之一( 一般解决方案)?

A.现象: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_dump.19991201"
  2>go

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

  1>sp_configure "allow updates", 1
  2>go
  1>begin tran
  2>go
  1>update master..sysdatabases
  2>set status = -32768
  3>Where name="pubs2"
  4>go

  如果得到(1 row affected),则

  1>commit
  2>go

  否则

  1>rollback
  2>go

  (4.1)如果条件允许,bcp out用户数据或dump用户数据库

  (5.1)这时重新启动SQL Server, 再有sa帐号注册到SQL Server.

  1>begin tran
  2>go
  1>update master..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

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

  (5) 运行dbcc命令检查数据库的一致性

  isql -Usa -P -i dbcc.sql -o dbcc.out
  dbcc.sql文件示例:
  dbcc checkdb("pubs2")
  go
  dbcc checkalloc("pubs2")
  go
  dbcc checkcatalog("pubs2")
  go
  grep Msg dbcc.out

  6) 后备用户数据库

  1>dump database pubs2 on "/usr/sybase/pubs2_dump.19991201"
  2>go

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