我正在尝试使用 T-SQL(使用 Ready-Roll 数据库源代码控制工具和 Octopus Deployment)将架构更改应用于发布数据库,但它迫使我停止复制以运行脚本。如果重要的话,我正在运行事务复制。
这对自动化部署的真正目的提出了挑战,而且由于需要复制重置,成本非常高。
答案1
A事务处理SQL(TSQL) 是一种搜索和获取工具。它可用于更改数据库的架构。它通过复制命令来实现这一点。如果 TSQL 不起作用,则可能需要另一个步骤。您可能需要采用不同的方法重新启动该过程。
如果在更改发布数据库架构的过程中被迫停止复制,则必须考虑一个重要问题。数据库是否具有可自动冻结任何复制过程的安全标记。如果有,那么您必须采取必要的步骤来发现独特的数据库特性。这将使您能够辨别任何安全标记。
另一个需要考虑的选项是数据库的多样性。这个选项会带来一个问题:这是唯一一个 TSQL 工具无法工作的发布数据库吗?这个问题为解决问题提供了各种新的可能性和途径。首先,如果您偶然发现一个数据库向您显示“停止复制”消息,那么问题不是 TSQL,而是该数据库中的问题。
如果任何发布数据库上出现“停止复制”消息,则您必须考虑流程中的步骤。TSQL 被设计为复制器,它应该更改数据库的架构。但是,必须采取一些特定步骤。
一定要考虑分发参数。TSQL 是否与这些参数匹配。安装值是多少?它是否必须为零才能使复制过程具有适当的操作平台?您的事务处理是否需要很长时间?某些发布数据库具有最大事务保留期。最后,您的 TSQL 脚本文件在执行指定任务时是否遵循逻辑顺序?最后一个快速考虑。Transact-SQL 脚本编写者应考虑主题数据库脚本是否是手动配置的。