【问题标题】:How to take sql server backup for this scenario?如何为这种情况进行 sql server 备份?
【发布时间】:2015-01-14 13:33:58
【问题描述】:

我的客户端有SQL server 2008云版作为测试服务器,我们部署了我的应用程序的sql数据库。这个部署在7个月前完成。由于在这 7 个月中测试应用程序时,客户添加了大量数据。但是根据新的要求 我们最后在现有表格中添加了表格和列的数量。现在我想更新客户端测试服务器数据库,但他的数据不应该影响。将这些更新从开发服务器备份和还原到客户端的测试服务器的正确方法是什么。我们将 sql server 2008 R2 作为开发服务器。

【问题讨论】:

  • 您使用哪个 Visual Studio?你在用 dacpacs 吗?如果是这样,如果结果是肯定的,则在客户端数据库的副本上测试 dacpac,然后在客户端服务器上部署 dacpac。

标签: sql sql-server sql-server-2008-r2 database-backups database-restore


【解决方案1】:

你应该有一个计划。例如我们这样做:

1. Compare 2 databases with some compare tool(we use RedGate)
2. Generate migration scripts for structure that will update database structure
3. Generate migration scripts for data that will update new columns and will fill classification tables etc.
4. Take full backup before applying migration scripts
5. Run migration scripts
6. Update App version on clients if necessary.

【讨论】:

  • 谢谢。但禁止在客户的机器上安装 RedGate 或任何其他工具。 sql server 可以通过其他方式处理这种情况吗?
  • 您是否想说您没有备份当前在您的客户机器上的数据库版本?那我觉得是你的错。你不能备份一个生产数据库吗?
  • 不,你让我有别的方式。我的评论是关于客户的条款不允许安装任何工具来管理 sql server 的源代码控制。它超出了我的范围,或者你可以说它是不允许的。
  • 您要更新客户端数据库结构。您应该了解客户数据库的当前结构,以便与您的开发数据库进行比较。如果没有 2 个数据库,您将无法生成迁移脚本。所以你可以去你的一个客户,恢复客户数据库的副本,从那个数据库中删除所有的操作数据,然后把那个空的数据库带到你的工作中。然后比较结构并生成适当的脚本。没有生产和开发数据库怎么能做到这一点?我不知道。并且不要忘记在迁移到生产环境后备份您的开发数据库!
  • 你能指导我如何编写迁移脚本吗?
猜你喜欢
  • 2017-06-06
  • 1970-01-01
  • 2018-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多