交换数据库服务器

时间:2013-06-21 14:27:49

标签: database deployment

您好我仍然是数据库部署的新手。

一般来说,如何为发布部署生产数据库的更改?

我的客户想要一个全新的设置。我们有3个环境:DEV,INT,PROD。当QA认证时,他希望将INT作为生产。对于应用程序服务器来说这很好,但由于数据库状态非常重要,这对数据库来说是一个问题,因为除非我们将生产数据同步到集成,否则我们无法生成INT数据库。但是我们的数据库超过300GB,因此需要花费大量时间来同步数据,因此需要很长的停机时间,这是不可取的。

你们可以在这种情况下告诉我。

2 个答案:

答案 0 :(得分:0)

我知道在部署之前进行这种同步的最合适的方式是使用原始数据的副本进行离线集成。起初它看起来似乎是一个繁重的过程,但它具有保持原始数据可用的优点(在同步期间可能总是会出现问题),并使您在完全部署之前对数据进行所有必要的测试。

答案 1 :(得分:0)

以下是部署到生产数据库的一些提示:

  1. 始终拥有生产数据库的当前备份。万一出现问题。
  2. 确保为脚本使用某种源代码控制。就像代码一样。签入脚本,存储过程等。
  3. 始终拥有任何数据更新的回滚脚本。例如,有一个更新100条记录的脚本?编写一个脚本,暂时将数据复制到其他位置,并可以恢复您所做的任何更改。在DEV和INT中测试它很容易。在对数据进行生产更改时,可以让您高枕无忧。
  4. 始终为任何架构更改提供最新备份。如果要向表中添加字段,请查看是否可以将表复制到临时表,然后进行更改。如果表格非常大,可能并不总是可能,但同样,它可以让您在发生错误时快速回滚。
  5. 练习,练习,练习。练习恢复旧生产数据的备份。练习在DEV和INT中运行脚本。随时准备重新部署所有存储过程。
  6. 您提到的另一个可能很难的主题是在INT中生成数据。我会定期将生产数据库备份恢复到INT和DEV。对QA来说非常值得,因为它为他们提供了生产数据的质量数量

    我建议不要将INT数据库投入生产。开发人员和QA将始终将垃圾数据用于测试,并且您不希望将其生效。