您的位置:首页 > 数据库

数据库帐号部分丢失移植方法

2006-11-16 15:16 127 查看
公司里有几个SQLSERVER2000数据库,使用了有3、4年了,DBA也换了不少,抡到我接手时,文档手册基本上是无,上一任临走时只留下个sa密码就走了,郁闷。

屋漏偏逢连夜雨,偏偏这时候老板又要迁移这批数据库,对于迁移数据库的工作作为DBA来说,是常见的事,所以一开始认为是很容易。可是随着对准备迁移前的业务分析,发现迁移过程存在以下几个问题:1。许多业务是以固定的sqlserver帐号在运行,而这些固定帐号密码都没有留下来;2。通常C/S架构在客户端如果设计合理都有相应的配置文件进行数据库连接的配置,而这里的连接数据库的配置都是定死的,写到了dll文件中(估计当时设计者是处于安全角度考虑才这样做的),而且都是非托管代码,根本无法调试追查到(-^- 可能我的水平差吧);3。用嗅觉软件来查密码,由于系统是多层架构,复杂性也高,所以有点难度,也没有成功。

再次通过分析,本人发现客户端配置文件均是以ODBC方式进行连接的,也就是说,如果我们迁移数据库成功后,只需对客户端的ODBC的IP重新定位即可,至于帐号的密码完全可以不需要知道多清楚。

通常这种保留帐号迁移密码的办法是备份恢复系统Master数据库,但在恢复过程中系统提示Master版式本不一致,只有版本一致才能恢复,所以恢复又失败了(微软的补丁太多了搞不清是哪一个)。

考虑到数据库的帐号是存在MASTER数据库的syslogx表中,并且是加密的处理的,所以试着先在目的数据库中生成缺失的帐号,密码自己先随意写一个,然后从旧的数据库中读出密码对应的信息,再更新迁移到的数据库的的帐号相应的位置,一试,居然成功了。

现在将整个过程写出来,供大家分享,不知道大家是否有更好的方法和经验,欢迎指点。

数据库:sqlserver2000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐