情景就是这样。我在线有一个SQL Server数据库,我正在演示一个应用程序。在开发过程中,我添加了额外的字段,修改了字段类型,更改了键并在本地添加了一些新表。
使用新结构更新在线数据库并且不丢失数据的最佳方法是什么?该数据库是SQL Server 2005的数据库。
答案 0 :(得分:2)
编写更新脚本以将您的实时数据库结构修改为新结构,以及插入所需的任何数据。
您可能会发现有必要使用临时表来执行此操作。
最好在测试环境中测试此过程,然后再在实时环境中运行脚本。
答案 1 :(得分:2)
下载Red Gate SQL Compare的试用版,比较两台服务器,您就完成了。如果你经常这样做,那么400美元的价值非常值得,或者购买其中一个套装以获得更好的收益。
我不为Red Gate工作,只是一个快乐的客户!
答案 2 :(得分:0)
根据你到底做了什么,你可以通过改变陈述来逃避,尽管从它的声音(删除键和诸如此类的东西)中你正在做一些可能使其低于 - 理想解决方案您应该考虑在Visual Studio中创建维护计划,或者更好的是SQL Server Integration Services项目。您应该能够使用这些工具将现有数据库中的数据迁移到新数据。
答案 3 :(得分:0)
这可能不是回顾性的,但我总是将所有结构数据库更改编写到我的开发数据库,然后使用版本号来确定数据库的当前版本我可以在实时数据库上运行所需的脚本,因此,在上传新代码的同时将其恢复原状。
这也适用于任何内容更改,例如,如果底层结构中的更改对存储的conent有影响,您还可以编写脚本来相应地迁移数据。
答案 4 :(得分:0)
制作要复制的现有数据库的副本。
制作另一个副本并将其更改为新架构。保存DDL以便重复使用。
编写将数据从#1复制到#2的查询。保存查询以便重复使用。
检查结果。
重复完成。