master数据库状态有时候在不经意之间被修改为-32768,并重新启动了数据库。如果没有重新启动数据库,我们当然可以用命令重新修改回来。重新启动之后,master库就进入了bypass模式,这样从系统功能方面已经无法对master数据库进行增删改操作,也就无法让master库恢复正常。
解决方法:
1、确定你的数据库版本
2、确定你的数据库页的大小
3、下载16进制编辑工具(ultraedit,winhex)
4、备份好目前的master设备,如果是裸设备,可以使用dd命令导出变成文件形式。
5、用16进制工具打开,本人使用ultraedit。
6、接下来使用笨办法,也就是搜索ascii码”master”,根据经验判断在这个master附近出现model,tempdb,sybsystemprocs值的,基本上可以判定这个就是sysdatabases中的master记录信息。
7、接下来我们从master这个位置开始,往前找,在第31字节处,我们可以发现其中有80 01 16进制值。
8、找到这个值之后,在此修改,将80 01修改为00 00
9、保存
10、替换原来的master设备,并启动数据库,ok,你的master库已经不再是bypass了。
是挺简单的吧
FROM:http://www.sybedit.com/?p=58
|