[裸睡无罪]

个人平台

  IT博客 ::  ::  :: 联系 ::  :: 管理 ::
  6 随笔 :: 6 文章 :: 1 评论 :: 0 Trackbacks
本贴摘至http://www.sybasecn.com

=============================================================================

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


posted on 2009-11-05 09:31 代廷辉 阅读(179) 评论(0)  编辑 收藏 引用 所属分类: SYBASE
只有注册用户登录后才能发表评论。