2009-04-21 113 views
0

情景是这样的。我有一个SQL Server数据库在线,我正在演示一个应用程序。在开发过程中,我添加了额外的字段,修改的字段类型,更改的密钥并在本地添加了一些新表。备份和还原SQL Server数据以更改数据库结构

什么是最好的方式来更新在线数据库的新结构,而不会丢失数据?数据库是SQL Server 2005的一个。

回答

2

下载试用版Red Gate SQL Compare,比较你的两台服务器,就完成了。如果你经常这样做,那么这个价值400美元就够了,或者拿到其中的一个捆绑包来更好地促销。


而我不为红门工作,只是一个快乐的客户!

2

编写更新脚本以将您的实时数据库结构修改为新结构,并插入所需的任何数据。

您可能会发现有必要使用临时表来执行此操作。

如果您在测试环境中测试此过程,那么在运行环境中的脚本之前,这可能是最好的选择。

0

根据你做了什么,你可能能够脱离alter语句,但从它的声音(删除键和whatnot),你正在做一些繁重的举动,可能会使一个小于理想的解决方案。您应该着眼于创建维护计划,或者更好的是在Visual Studio中创建SQL Server Integration Services项目。您应该能够使用这些工具将现有数据库中的数据迁移到新数据库。

0

这可能不是回溯性的巨大帮助,但我总是将所有结构化数据库更改编写到我的开发数据库中,然后使用版本号来确定数据库的当前版本我可以在活动数据库上运行所需的脚本,因此在新代码上传的同时将其重新排列。

这也适用于任何内容更改,例如,如果底层结构中的更改对存储的内容有影响,您还可以编写脚本来相应地迁移数据。

0
  1. 复制现有数据库以复制。

  2. 创建另一个副本并将其更改为新的架构。保存DDL以供重用。

  3. 编写将数据从#1复制到#2的查询。保存查询以供重用。

  4. 检查结果。

  5. 重复,直到完成。