Sybase数据库出现问号、叹号,表示该库有问题了,由于某种原来无法恢复。
这时你可以试下以下方法:
先启动数据库,修改参数,使可以更新系统表数据,把坏库的状态设置为-32768,重启数据库,这时坏库不会执行恢复操作,将看到库上是感叹号,这时清除坏库的日志,再把坏库的状态值改为0,重启数据库,如无意外,应该能成功!
1.打开开关,使能修改系统表
user master
sp_configure "allow updates", 1
2.修改坏库状态值为-32768(这里坏库名叫yourDb)
user master
update sysdatabases set status=-32768 where name='yourDb'
3.重启数据库
4.清除坏库日志
use yourDb
dump tran yourDb with no_log
5.修改坏库状态值为0
user master
update sysdatabases set status=-32768 where name='yourDb'
6.重启数据库,看看是否正常了?
7.正常后把开关恢复
user master
sp_configure "allow updates", 0
注意:这样处理的后果将是丢失该库的日志.