故障排除:在 Azure SQL 数据库故障转移后对适用于 Azure SQL 数据库的 Azure Synapse Link 进行故障排除

本文指导如何在 Azure SQL 数据库故障转移后对 Azure SQL 数据库的 Azure Synapse Link 进行故障排除和配置。 本文仅适用于 Azure SQL 数据库中的数据库。

症状

为了数据安全,用户可以选择为 Azure SQL 数据库设置自动故障转移组。 通过设置故障转移组,用户可以对多个可保护潜在数据丢失的异地复制数据库进行分组。 但如果 Azure SQL 数据中的表已启动适用于 Azure SQL 数据库的 Azure Synapse Link,当数据库发生故障转移时,即使 Azure Synapse Link 在前端仍显示为“运行中”状态,在后台也会被禁用。

解决方法

你必须手动停止 Synapse Link,并根据新主服务器的信息配置 Synapse Link,这样 Synapse Link 才能继续正常工作。

  1. 启动 Synapse Studio

  2. 打开“集成”中心

  3. 选择数据库发生故障转移的 Synapse Link。

  4. 选择“停止”按钮。

    Synapse Studio 的屏幕截图。集成中心处于打开状态,并且已选中链接连接 linkconnection1。突出显示了“停止”按钮。

  5. 打开“管理”中心。 在“外部连接”下,选择“链接服务”。

  6. 在“链接服务”列表中,选择数据库已故障转移的链接服务

    Synapse Studio 的屏幕截图。“管理”中心已打开。在链接服务列表中,突出显示了 AzureSqlDatabase1 链接服务。

  7. 故障转移后,必须基于新的主服务器重置链接服务连接字符串,以便 Synapse Link 可以连接到新的主逻辑服务器的数据库。 有两个选项:

    • 使用自动故障转移组读取/写入侦听器终结点,并使用 Synapse 工作区的托管标识 (SMI) 将 Synapse 工作区连接到源数据库。 由于读/写侦听器端点在故障转移后会自动映射到新的主服务器,因此您只需设置一次即可。 如果稍后发生故障转移,它将自动使用侦听器终结点的完全限定域名 (FQDN)。 你仍需要在每次故障转移时执行操作,以更新新主节点的资源 ID 和托管标识 ID(请参见下一步)。
    • 每次故障转移后,使用新主服务器的服务器名称、数据库名称和身份验证信息编辑链接服务的连接字符串。 可以使用托管标识或 SQL 身份验证。

    用于连接到数据库的身份验证帐户,无论是托管标识还是 Azure SQL 数据库的 SQL 身份验证登录名,都必须至少具有数据库内部的 CONTROL 权限,才能执行链接服务所需的操作。 db_owner 权限类似于 CONTROL。

    若要使用自动故障转移组读/写侦听器终结点,请执行以下操作:

    Azure Synapse Studio 编辑链接服务对话框的屏幕截图。手动输入读/写侦听器终结点的 FQDN。

  8. 每次发生故障转移后,必须更新资源 ID 和托管标识 ID。 打开“集成”中心。 选择 Synapse Link。

  9. 下一步取决于之前选择的连接字符串。

    • 如果选择使用读/写侦听器终结点来更新链接的服务连接字符串,则必须手动更新与新主服务器对应的 SQL 逻辑服务器资源 ID 和托管标识 ID。
    • 如果你已提供了新主服务器的连接信息,请选择“刷新”按钮。

    Synapse Studio 集成中心的屏幕截图。“刷新”按钮会更新 SQL 逻辑服务器资源 ID 和托管标识 ID。

  10. 适用于 Azure SQL 数据库的 Azure Synapse Link 当前无法从故障转移之前重新开始同步。 在重启 Link 连接之前,必须清空 Azure Synapse 中的目标表(如果存在数据)。 或者,在“对现有目标表执行操作”下拉列表中,选择“在目标上删除并重新创建表”选项。

  11. 最后,重启 Azure Synapse Link。 在集成中心上,打开目标‘链接’连接后,选择开始按钮。