(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