各位,没东西看~嘿嘿

这几天以来跟梦飞博客数据库的死磕

上一篇 / 下一篇  2007-03-08 22:41:00 / 个人分类:心情故事

本来这种技术性文档是不应该摆在心情故事的。

确实我真的太累了。好像在一个无人荒野里面大喊但是根本就没人听见。

以下的内容有很多技术性的东西。将就着看吧。呵呵

话说梦飞硬盘又出了一次问题,重新做了一次阵列,拿回了数据恢复。

恢复BBS和博客看起来都很顺利。

但是很不幸的,博客无法访问,只好马上停止了BBS跟博客的关联。

按照博客的错误类型来看,是数据库的问题,查看了一下居然是1月份的数据库。毫无疑问是附加了一个旧版的数据库。

还好baker找到了一个新版的2月底的数据库,很不幸的附加失败。出现3624错误。大意是说数据库有某个地方被截断。

其实用户方面我是一点不担心的,可以用同步程序把动网的克隆过来,但是900多篇日志就这样没了,其中我自己占10%左右,虽然我已经下载了html页回来,但是这样不是解决办法。

正当我没有办法的时候,鼠标过来帮忙用置疑的方法恢复了博客的数据库。大概的方法如下:
建立一个blog数据库,然后停止sql server,把新版的数据库文件copy进去取代系统建立的文件,启动sql server之后会发现数据库是灰色的置疑。

http://db.itshantou.com/other/2006/12/28/96170.html(这是其中一个参考方法)

再新建一个博客数据库,把内容导回去,这个时候只能得到数据库结构,其实意义是不大的,因为里面的user和log表都是空的。

没办法只好select恢复了置疑的数据库,发现user和log是有数据的,但是log里面有几个断点,所以校验长度无法通过,因此也就无法附加。

而且置疑数据库对用户是孤立的,想关联用户的时候跟我说“因为该数据库处于回避恢复模式”不能关联,这个数据库实际上也就没有任何作用,唯一的作用就是里面的数据了。

所谓天无绝人之路,打开查询分析器,把旧数据insert回去。由于中间有断点,要反复测试logid的断点,在断点之间把数据插入。范例如下

insert into newblog.dbo.oblog_log(topic, logtext, userid, authorid, author, addtime, truetime, iis, face, commentnum, classid, subjectid, showword, ishide, ispassword, trackbacknum, passcheck, istop, isbest, isencomment, blog_password, tburl, logfile, isdraft, issave, subjectfile, logTags, logTagsId, logType, Abstract, Abstract_Auto, EditorType, filename, logpics, specialid, scores, vote0, vote1, isTrouble, isdel, addip, tbcode) select topic, logtext, userid, authorid, author, addtime, truetime, iis, face, commentnum, classid, subjectid, showword, ishide, ispassword, trackbacknum, passcheck, istop, isbest, isencomment, blog_password, tburl, logfile, isdraft, issave, subjectfile, logTags, logTagsId, logType, Abstract, Abstract_Auto, EditorType, filename, logpics, specialid, scores, vote0, vote1, isTrouble, isdel, addip, tbcode from oblog_log where logid>1463 and logid<=1600 order by logid

反复的弄之后新的数据库(姑且成为newblog)终于恢复了,马上同步用户数据库,心想这次OK了,谁知还是出了问题,首先是其中某个字段不能为空,插入的时候用了空值导致插入失败,同时导致了动网注册用户失败,同步也随之失败。

更新了这个字段之后,又同步一次用户,同步的问题终于成功了。

然而登录系统之后,用户无法管理自己的日志,查询了代码之后发现是rs.recordcount的数值为-1,插入多少数据死活都没反应。回头去oblog下载最新的补丁,打了之后仍然失败。(可耻的说)

毫无疑问了,肯定还是数据库的问题。至少结构有问题。要我一个字段一个字段分析?不如杀了我好过了。

使用access导入新建一个log表,把数据导入,由于这次的log表数据是连续的,所以很轻松完成了任务。把新建的log改成默认的log,结果还是失败。(由此证明Access是多么的可耻)

最后没辙了。拿出了oblog的sql建表语句,重新建一个数据库和表(这是为了保证数据表的正确性),把数据从newblog导过去,日志管理终于可以用了。(MD,已经超级想打人)

但是首页死活不能更新。这个问题好办,服务器权限没有设好,授权过去,完成。

所有的问题至此基本上解决。这个东东从星期二折腾到星期四。心血少一点都给它折腾死了。

TAG: 梦飞 博客 数据库 恢复

引用 删除 Little Kid   /   2007-03-11 21:20:00
mxfy is just like a little kids, need your great care, long-lasting concern and love, sometimes some skills(just like what you have written)```so when time passes by```,this little kids will learn and come to know you guys, and become very stable and well behaved``哈哈
漫步枫林 引用 删除 strive   /   2007-03-10 21:14:00
你们辛苦了
很抱歉我未能帮上什么忙
梦飞叙事 引用 删除 massbaker   /   2007-03-08 23:21:00
真tmd的折腾啊,抢救了两次硬盘数据,换了两块主板和一个电源,平均一个星期去一次机房,一个月去一个电脑城维护,,,,,,有多少网站能承受这种折磨~~呼呼,,,,
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar