程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase綜合文章 >> 解決數據庫被掛起的問題

解決數據庫被掛起的問題

編輯:SyBase綜合文章
現象: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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved