master数据库状态被置为-32768后的处理方法
由于技术人员的疏忽,master数据库状态有时候在不经意之间被修改为-32768,并重新启动了数据库。如果没有重新启动数据库,我们当然可以用命令重新修改回来。重新启动之后,master库就进入了bypass模式,这样从系统功能方面已经无法对master数据库进行增删改操作,也就无法让master库恢复正常。怎么办?
着急了吧?
等着老板K你了吧?
等着老板炒你鱿鱼、扣薪水、挨批评!
别着急,下面我就对此类问题帮你进行深刻的分析,顺便让大家学点东西。本来我想直接使用我的工具powersybedit进行修改操作,但这样,你需要得到我的powersybedit,而我的ps目前暂不提供给外部服务。本着让大家明明白白的宗旨,我就开始讲了。
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
作者:hobbylu 这种hack还是比较危险的,因为找到的可能不是sysdatabases里的数据,而是sysanchors里的 dddddddddddddd
页:
[1]