快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

使用持续集成解决方案自动化数据库同步

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

本文将介绍一种通过连续集成自动执行SQL Server数据库同步的快速,无需编码的方法。

自动执行数据库同步的大多数方法通常归结为编写PowerShell或批处理脚本解决方案,然后配置SQL Server代理作业或任务计划程序。这需要一些脚本技巧和一些其他操作来设置自动数据库同步。

如何使用持续集成解决方案来完成工作?谁都想到的第一件事是–为什么有人要建立一个强大的CICD解决方案,对其进行配置并对其进行故障排除,以使其仅执行诸如日常数据库同步之类的简单任务?好吧,答案是–不,不必一定是这样。

事实是,大多数CICD构建服务器既昂贵又复杂。

一种替代方法是使用某些轻量级的安装和运行类型的持续集成解决方案。ApexSQL DevOps工具包 – Web仪表板是一种非常轻巧的基于Web的解决方案,主要用于连续集成和连续交付,但它非常灵活,可以用于非常复杂的CICD工作流程,甚至可以用于简单的数据库同步操作。这里数据库同步所需的是一些具有执行数据库比较功能的工具- 用于模式比较的ApexSQL Diff和用于数据比较的ApexSQL Data Diff,以便Web仪表板可以触发它们进行同步操作。

使用持续集成解决方案自动化数据库同步

ApexSQL DevOps工具包的 安装和主要配置– Web仪表板实际上需要两个步骤,其中需要定义端口访问号和用户访问。它作为Windows服务安装,随时可以通过任何Web浏览器访问已配置的端口来使用。

第一步,提供服务启动凭据

使用持续集成解决方案自动化数据库同步

第二步,选择连接类型和访问端口并创建用于应用程序登录的初始帐户:

使用持续集成解决方案自动化数据库同步

并等待安装完成。仅此而已,没有像其他持续集成系统那样详细和高级的配置。

请注意,创建HTTPS连接类型将提供一个功能优势,稍后将进行介绍。

同步任务的初始设置需要创建一个管道,该管道与创建任何连续集成或连续交付(CICD)任务相同。创建新管道时,应提供其名称和说明,并且可以忽略构建计数器选项,因为它通常用于CI构建。

使用持续集成解决方案自动化数据库同步

接下来是同一屏幕上的调度设置。ApexSQL DevOps工具包– Web仪表板内置了调度程序,因此以后无需通过SQL Agent或任务调度程序进行其他设置。确认管道配置后,视图将切换到连续集成步骤配置。

使用持续集成解决方案自动化数据库同步

由于Web仪表板是为连续集成和连续交付任务而设计的,因此可以选择两个过程的步骤,但是要使数据库同步自动化,所需的步骤是在连续交付部分(CD)中分组的架构同步,数据同步和部署步骤。根据所需的数据库同步类型,应使用适当的步骤。假设我们有每天的架构和数据更改,都需要计划的同步。

使用持续集成解决方案自动化数据库同步

对于这种情况,请先通过使用“模式同步”步骤来进行模式同步,方法是单击步骤的图标或对上半部分使用拖放操作。架构同步配置选项将会出现。在这里,我们可以看到用于选择源数据库和目标数据库的选项。

使用持续集成解决方案自动化数据库同步

这些选项要求创建数据库数据源类型。为此,请使用“添加”按钮,将出现用于创建数据源的视图。在此视图中,选择数据库源类型,然后填充数据源名称字段和所需的数据库连接设置。

使用持续集成解决方案自动化数据库同步

确认设置,数据源将准备好进行架构同步步骤,并将永久保存以备后用。对目标数据库重复相同的过程。

使用持续集成解决方案自动化数据库同步

以下选项将输出包括在包中需要一些其他说明。此选项将创建一个NuGet包文件来存储Schema同步步骤的输出。

使用持续集成解决方案自动化数据库同步

这些软件包通常用于持续集成和持续交付工作流程,因此此处提供了创建它们的选项。输出将是数据库比较摘要和报告以及架构同步脚本,所有这些都由ApexSQL Diff自动创建工具。如果未使用“在包中包含输出”选项,则将创建这些输出,但不会将其存储在包中。对数据库同步任务使用NuGet包的一个优点是,可以轻松地将存储的同步脚本用于Deploy步骤,该脚本将执行它们,而不是手动提供指向这些脚本的路径,这将在后面说明。创建NuGet包数据源与这些数据库类型数据源一样容易。只需输入数据源名称和NuGet包文件名,然后单击保存进行确认。

使用持续集成解决方案自动化数据库同步

请注意,所选名称将从构建计数器中自动获得后缀部分。

现在,当设置数据库同步源和目标时,自然的问题将是:“没有任何选项,我只想同步几个项目,而不是整个数据库?” –哦,但是有很多选择,很多选择。由于该工具旨在简化连续集成设置,因此可以在ApexSQL Diff项目文件中将这些选项设置为模板,并通过在指定字段中提供项目文件路径来导入这些选项。

使用持续集成解决方案自动化数据库同步

ApexSQL Diff项目中,有一些选项可以在进行比较时忽略某些差异,这意味着将比较对象,但忽略的差异将不被考虑进行同步。

使用持续集成解决方案自动化数据库同步

还有一些选项可以过滤掉某些对象或对象类型,并且根本不将它们包括在内。

使用持续集成解决方案自动化数据库同步

有时,当场提供可用选项进行连续集成配置比较方便,因此,除了项目文件导入选项外,还有一个字段可以使用与数据库同步工具关联的一组CLI界面选项,该选项可以通过覆盖来更新项目文件选项他们或补充他们。

使用持续集成解决方案自动化数据库同步

“数据同步”步骤的工作方式与“模式同步”步骤完全相同,仅解释了同步表和/或视图对象数据。它需要源数据库和目标数据库,但是如果先前已按照说明使用架构同步,则数据库数据源将已经可供选择。

使用持续集成解决方案自动化数据库同步

同步选项可以与ApexSQL Data Diff项目文件一起导入,可以在其中设置一些行过滤

使用持续集成解决方案自动化数据库同步

和数据比较选项。

使用持续集成解决方案自动化数据库同步

数据同步将创建一个数据比较摘要和数据同步脚本,这些脚本可以与架构同步输出一起存储在NuGet包中。

部署步骤通常用于连续集成/交付过程中,以最终控制数据库同步,它具有两个配置变体。

第一种变体是使用通过架构/数据同步步骤创建的NuGet包。在这种情况下,应选择“ 从软件包中”选项,然后将先前步骤中使用的NuGet软件包数据源作为“源”。作为目标,应选择具有定义的目标数据库的数据源。部署步骤将从包中提取同步脚本并执行它们。

使用持续集成解决方案自动化数据库同步

如果未选择“ 从软件包中”选项,则第二个变体可用。在这种情况下,应提供一个SQL脚本数据源类型。

使用持续集成解决方案自动化数据库同步

它的创建方式与其余数据源类型相同。单击“添加”按钮,然后在打开的表单中输入数据源名称和适当的同步脚本的路径(之前由“架构和数据同步”步骤创建)

使用持续集成解决方案自动化数据库同步

当提供同步脚本作为输入时,准备步骤将在调度程序激活同步时执行同步。

将Schema / Data sync和Deploy步骤组合在一起,流水线将看起来像通常的连续交付流水线,只是使用了两个数据库之间的直接比较而不是使用开发源。

使用持续集成解决方案自动化数据库同步

有一种方法可以进一步简化此任务。在配置模式/数据同步步骤时,使用“ / sync”开关作为附加参数,该步骤将执行比较,创建同步脚本并立即执行。此选项无需部署步骤,但减少了对流程的控制。

使用持续集成解决方案自动化数据库同步

ApexSQL DevOps工具包的最大优势之一是Web仪表板CI解决方案,它可以同时配置用于数据库同步和连续集成任务。管道管理概念允许这样做。此外,由于该工具允许多个用户使用,因此CI和CD管道可以与这些同步任务完全隔离,因为用户可以管理自己的管道配置。

使用持续集成解决方案自动化数据库同步

最后是一个非常方便的选择。如果在安装过程中如前所述配置了HTTPS连接,则可以使用具有某些端口转发路由器配置的安全端口,通过具有Internet浏览器和Internet连接的任何移动设备来访问,重新配置或监视同步。

使用持续集成解决方案自动化数据库同步

总之,使用持续集成解决方案,低代码/无代码数据库同步从未如此简单。

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638