gpt4 book ai didi

sql-server - SSDT 创建回滚部署脚本?

转载 作者:行者123 更新时间:2023-12-01 09:28:39 24 4
gpt4 key购买 nike

我们可以使用 TFS&SSDT 创建 SQLServer 部署脚本,但是有没有办法创建回滚脚本,以便我们可以回滚部署?谢谢

最佳答案

由于 SSDT(和类似产品)都通过将项目中的架构与实时数据库进行比较以使数据库与模型同步来工作,因此没有直接的方法来创建回滚脚本。还有一些关于通过部署前或部署后脚本更改/添加/删除数据的注意事项。

话虽如此,但有几个选择。

  1. 每次发布​​时拍摄快照。您可以使用之前版本中的快照进行另一次比较以进行回滚。
  2. 在其他地方维护以前的版本 - 或许将您的生产系统与本地计算机的架构进行比较。您可以使用它与生产进行比较并进行回滚。
  3. 在发布之前生成现有系统的 dacpac(使用 SQLPackage 或 SSDT 来执行此操作)。如果出现问题,您可以使用它将该版本的架构部署回数据库。
  4. 在发布之前拍摄数据库快照。最佳情况下,您不需要它并且可以删除快照。最坏的情况,你可以用它来回滚。当然,您需要注意空间和 IO,因为您将在其他地方保持原始状态。
  5. 在多个环境中运行您的更改,以最大程度地减少回滚的需要。理想情况下,如果您已通过开发、QA 和暂存/用户验收环境运行此程序,那么您的代码和发布应该足够稳固,能够毫无问题地发布。

您需要相应地编写代码以回滚数据更改。这可能有点棘手,因为每种情况都不同。您需要确保编写的脚本可以撤消发布中的任何更改。如果您插入了一行,则需要一个回滚脚本来删除它。如果您更新了一堆数据,则需要备份该数据或通过其他方式将其取回。

关于sql-server - SSDT 创建回滚部署脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18888889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com