生产数据库升级总结

本文详细介绍了一个可靠的生产数据库升级流程,包括准备模板数据库、生成新数据库、比较并生成升级脚本等步骤,确保数据完整性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 生产数据库升级是一个比较痛苦的工作。要升级到新的结构,还要保证原有的数据不受影响。

1)准备一个和生产数据库同一版本的模板数据库。如果可以直接拿到生产数据库的备份最好。如果不行,就自己产生一些模拟数据,最重要的是保证各种特征的数据都有,尽量保证所有的表都有数据。备份一份准备好的模板数据库,留待以后的测试。
2)安装新的软件,生成新的数据库。
3)利用工具比较两个数据库的schema,生成升级的脚本。这样工作手工做可能是非常恐怖的事。
4)分析和验证工具生成的升级脚本。主要工作是看看在字段发生改变的表里,数据的转换是否正确,增加字段的表里,添加的默认值是否合适。然后,逐段运行脚本,检查脚本运行是否能够通过,同时,转换是否正确。一定不要什么都不管,从头到尾运行。注意,经常存盘和备份,保证不丢失修改。
5)用一个干净的模板数据库,重新运行完整的脚本。用schem比较工具查看是否所有的修改都做好了。
6)如果没问题,使用数据库的数据比较工具,比较数据。主要两个工作,所有的配置数据和系统预置数据是否一致。已有的生产数据有没有被破坏。选择需要升级的部分数据,生成升级脚本。
7)利用升级脚本逐段测试,验证。
8)一次运行整个脚本,进行测试,验证。
9)重新用一个新的模板库,进行两个脚本的验证。
10)如果没有问题了,进行全面的功能测试。发现问题的时候,修改脚本重新测试。

 

一定要注意的问题:
1)数据库中的所有constraint一定要有名称。没有名称,数据安装的时候会自动生成一个带随机数ID的名字,只会造成每个机器的升级脚本都不一致。没有办法做标准的升级脚本。
2)如果使用SQL server,Redgate SQL toolbelt是一个很好用的比较工具。
3)把脚本分成schema升级和数据升级,会节约和多时间,提高脚本的可维护性。
4)一定要保证真正读懂了数据升级脚本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值