精益求精Sybase数据库问题大搜罗

发表于:2008-08-19来源:作者:点击数: 标签:数据库精益求精搜罗SYBASESybase
A.现象:Error926 SeverityLevel14 ErrorMessageText Database’xx’cannotbeopened-ithasbeenmarkedSUSPECTbyrecoverExplanation (1)当你使用Transact_ SQL 命令操作这个 数据库 的数据时,出现这个信息,这是一个严重的错误,如果 你要使用这个数据库的数据,必
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) 运行dbclearcase/" target="_blank" >cc命令检查数据库的一致性 

  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

原文转自:http://www.ltesting.net