将 Azure SQL 数据库资源移动到其他区域

在本教程中,了解如何使用 Azure 资源转移器将 Azure SQL 数据库和弹性池移动到不同的 Azure 区域。

在本教程中,你将了解:

  • 将 Azure SQL 数据库和弹性池移动到其他 Azure 区域

注意

教程显示尝试方案的最快路径,并使用默认选项。

先决条件

开始之前:

  • 请检查你对包含待移动资源的订阅是否具有“所有者”访问权限。
    • 首次为 Azure 订阅中的特定源和目标对添加资源时,资源转移器将创建受订阅信任的系统分配的托管标识(以前称为托管服务标识 (MSI))。
    • 若要创建标识,并为其分配所需的角色(来源订阅中的参与者或用户访问管理员),用于添加资源的帐户需要对订阅的“所有者”权限。 详细了解 Azure 角色。
  • 检查订阅是否有足够的配额来创建要在目标区域中移动的资源。 如果它没有配额,可以请求提高限制
  • 验证与要将资源移动到的目标区域关联的定价和费用。 请使用定价计算器来帮助你。

登录 Azure

如果没有 Azure 订阅,请在开始前创建一个试用版订阅。 然后登录到 Azure 门户

查看 SQL 需求

在移动之前检查 SQL 要求:

  1. 查看移动到其他区域时支持哪些数据库/弹性池功能。
  2. 在目标区域中,为每个源服务器创建目标服务器并确保正确的用户访问权限。 详细了解如何配置登录名和用户
  3. 检查是否使用透明数据加密 (TDE) 加密了数据库。 如果数据库使用透明数据加密进行加密,并且你在 Azure 密钥保管库中使用自己的加密密钥,请了解如何将密钥保管库移动到其他区域
  4. 如果启用了 SQL 数据同步,则支持移动成员数据库。 移动后,需要将 SQL 数据同步设置为新的目标数据库。
  5. 在移动前删除高级数据安全设置。 移动后,在目标区域的 SQL Server 级别配置设置
  6. 如果启用审核,策略在移动后将重置为默认值。 移动后,请再次设置审核
  7. 源数据库的备份保留策略将转移到目标数据库。 详细了解如何在移动后修改设置。
  8. 在移动之前删除服务器级防火墙规则。 在移动过程中,数据库级防火墙规则将从源服务器复制到目标服务器。 移动后,在目标区域中为 SQL Server 设置防火墙规则
  9. 在移动前删除自动优化设置。 移动后再次设置自动优化
  10. 在移动前删除数据库警报设置。 移动后重置它

选择资源

可以在所选源区域中的任何资源组中选择任何受支持的资源类型。 将资源移动到与源区域相同的订阅中的目标区域。 如果要更改订阅,可以在移动资源后进行更改。

若要选择要移动的资源,请执行以下步骤:

  1. 在 Azure 门户中,搜索“资源转移器”。 然后,在“服务”下,选择“Azure 资源转移器” 。

    Screenshot displays search results for resource mover in the Azure portal.

  2. 在 Azure 资源转移器的“概述”窗格上,选择“跨区域移动” 。

    Screenshot displays button to add resources to move to another region.

  3. 在“移动资源”>“源 + 目标”上:

    1. 选择源“订阅”和“区域”。
    2. 在“目标”下,选择要将资源移动到的区域。 然后,选择“下一步”。

    Screenshot displays page to select source and destination region.

  4. 在“移动资源”>“要移动的资源”上:

    1. 转到“选择资源”。

    2. 在“选择资源”窗格中,选择资源。 只能添加支持移动的资源。 然后选择“完成”。

      Screenshot displays page to select SQL resources to move.

    3. 在“要移动的资源”中,选择“下一步” 。

  5. 在“查看 + 添加”中,查看源和目标设置。 确认你了解有关移动的元数据将存储在元数据区域中为此目的创建的资源组中。

    Screenshot displays page to review settings and proceed with move.

  6. 选择“继续”,开始添加资源。

  7. 添加过程成功完成后,选择通知图标中的“添加要移动的资源”。

  8. 选择通知后,查看“跨区域”页上的资源。

注意

  • SQL Server 现在处于“手动分配挂起”状态。
  • 已添加的其他资源处于“准备挂起”状态。
  • 如果要从移动集合中删除资源,所用的方法取决于你在移动过程中的进度。 了解详细信息

解决依赖项问题

若要解决要移动的依赖资源,请执行以下步骤:

  1. 添加资源时,系统会在后台自动验证依赖项。 如果初始的自动验证无法解决问题,你将看到“验证依赖项”选项,选择它以手动验证

  2. 如果找到依赖项,请选择“添加依赖项”。

    Screenshot displays button to add dependencies.

  3. 在“添加依赖项”中,选择从属资源 >”添加依赖项”。 可在通知中监视进度。

  4. 添加依赖项后,系统会在后台自动验证依赖项。 如果看到“验证依赖项”选项,请选择它以触发手动验证。

  5. 在“跨区域”页上,验证资源现在是否处于“准备挂起”状态,且没有任何问题。

    Screenshot displays page showing resources in prepare pending state.

移动 SQL Server

Azure 资源移动器当前不会跨区域移动 SQL Server。 必须先在目标区域中分配目标 SQL Server,然后提交移动。

若要手动分配目标资源,请执行以下步骤:

  1. 分配目标 SQL Server - 若要分配目标 SQL Server,请执行以下步骤:

    1. 在“跨区域”中,对于 SQL Server 资源,在“目标配置”列中选择“未分配的资源”。

    2. 选择目标区域中的现有 SQL Server 资源。

      Screenshot displays entry showing SQL Server state set to Commit move pending.

    注意

    源 SQL Server 状态将更改为“提交移动挂起”。

  2. 提交 SQL Server 移动 - 若要提交目标 SQL Server 并完成移动过程,请执行以下步骤:

    1. 在“跨区域”中,选择 SQL Server,然后选择“提交移动”。

    2. 在“提交资源”中,选择“提交” 。

      Screenshot displays page to commit the SQL Server move.

    3. 跟踪通知栏中的移动进度。

    注意

    提交后,SQL Server 现在处于“删除源挂起”状态。

准备要移动的资源

移动源 SQL Server 后,可以准备移动其他资源。

准备缩放弹性池

若要为移动准备弹性池,请执行以下步骤:

  1. 在“跨区域”中,选择源弹性池(演练中的 demo-test1-elasticpool),然后选择“准备”。

    Screenshot displays button to prepare resources.

  2. 在“准备资源”中,选择“准备” 。

  3. 当通知显示准备过程成功时,选择“刷新”。

注意

弹性池现在处于“启动移动挂起”状态。

准备单一数据库

若要为移动准备单一数据库,请执行以下步骤:

  1. 在“跨区域”中,选择(不在弹性池中的)单一数据库,然后选择“准备”。

    Screenshot displays button to prepare selected resources.

  2. 在“准备资源”中,选择“准备” 。

  3. 当通知显示准备过程成功时,选择“刷新”。

注意

该数据库现在处于“启动移动挂起”状态,并且已在目标区域中创建。

移动池并准备池数据库

若要在弹性池中准备数据库,弹性池必须处于“提交移动挂起”状态。 若要移动到此状态,请启动池的移动。

启动移动 - 弹性池

若要启动弹性池的移动,请执行以下步骤:

  1. 在“跨区域”中,选择源弹性池(演练中的 demo-test1-elasticpool),然后选择“启动移动”。

  2. 在“移动资源”中,选择“开始移动” 。

    Screenshot displays button to initiate move of elastic pool.

  3. 跟踪通知栏中的移动进度。

  4. 当通知显示移动成功时,选择“刷新”。

注意

弹性池现在处于“提交移动挂起”状态。

准备数据库

若要为移动准备数据库,请执行以下步骤:

  1. 在“跨区域”中,选择数据库(在我们演练中的 demo-test2-sqldb),然后选择“准备”。

  2. 在“准备资源”中,选择“准备” 。

    Screenshot displays button to prepare database in elastic pool.

在准备阶段,将在目标区域中创建目标数据库,并开始复制数据。 准备后,数据库处于“启动移动挂起”状态。

Screenshot displays button to prepare the selected database in the elastic pool.

移动数据库

你已准备好资源,现在可以启动移动。

若要移动数据库,请执行以下步骤:

  1. 在“跨区域”中,选择状态“启动移动挂起”的资源。 然后,选择“开始移动”。

  2. 在“移动资源”中,选择“开始移动” 。

    Screenshot displays page to initiate move.

  3. 跟踪通知栏中的移动进度。

注意

数据库现在处于“提交移动挂起”状态。

提交或放弃移动

初始移动后,你可以决定是提交移动,还是放弃它。

  • 放弃:如果要测试,并且不想实际移动源资源,则可能需要放弃移动。 放弃移动会将资源返回到“启动移动挂起”状态。
  • 提交:提交即完成移动到目标区域的操作。 提交后,源资源将处于“删除源挂起”状态,你可以决定是否要删除它。

放弃移动

若要放弃移动,请执行以下步骤:

  1. 在“跨区域”中,选择状态为“提交移动挂起”的资源,然后选择“放弃移动”。
  2. 在“放弃移动”中,选择“放弃” 。
  3. 跟踪通知栏中的移动进度。

注意

  • 放弃资源后,它们处于“启动移动挂起”状态。
  • 如果只有一个弹性池,则放弃进度,并删除在目标区域中创建的弹性池。
  • 如果存在具有处于“提交移动挂起”状态的关联数据库的弹性池,则不能放弃弹性池。
  • 如果放弃 SQL 数据库,不会删除目标区域资源。

如果要在放弃后再次启动移动,请选择 SQL 数据库或弹性池,然后再次启动移动。

提交移动

按照以下步骤完成数据库和弹性池的移动:

  1. 查看 SQL Server 是否为“删除源挂起”状态。

  2. 在提交之前,将数据库连接字符串更新到目标区域。

  3. 在“跨区域”中,选择 SQL 资源,然后选择“提交移动”。

  4. 在“提交资源”中,选择“提交” 。

    Screenshot displays commit move.

  5. 跟踪通知栏中的提交进度。

注意

在提交过程中,SQL 数据库会出现停机。 已提交的数据库和弹性池现在处于“删除源挂起”状态。 提交后,更新目标数据库上与数据库相关的设置,包括防火墙规则、策略和警报。

提交后删除源资源

移动后,可以选择删除源区域中的资源。

注意

SQL Server 服务器是无法从门户中删除的,必须从资源属性页中删除。

  1. 在“跨区域”窗格中,选择要删除的源资源的名称。
  2. 选择“删除资源”。

后续步骤

详细了解如何将 Azure VM 移到另一区域。