将 Analysis Services 移动到其他区域
本文介绍了如何将 Analysis Services 服务器资源移动到其他 Azure 区域。 你可能希望将服务器移动到其他区域,原因有许多,例如:利用更靠近用户的 Azure 区域、使用仅在特定区域中受支持的服务计划,或者满足内部策略和治理要求。
在此文章和关联的链接文章中,你将了解如何执行以下操作:
- 将源服务器模型数据库备份到 Blob 存储。
- 导出源服务器资源模板。
- 获取存储共享访问签名 (SAS)。
- 修改资源模板。
- 部署模板来创建新的目标服务器。
- 将模型数据库还原到新的目标服务器。
- 验证新的目标服务器和数据库。
- 删除源服务器。
本文介绍了如何通过资源模板将使用“基本配置”的单个 Analysis Services 服务器迁移到同一订阅中的其他区域和资源组。 使用模板会保留已配置的服务器属性,确保为目标服务器配置与源服务器相同的属性(区域和资源组除外)。 本文没有介绍如何移动可能属于相同资源组的关联资源,例如数据源、存储和网关资源。
在将服务器移动到其他区域之前,建议你创建一个详细的计划。 考虑其他也可能需要移动的资源,例如网关和存储。 对于任何计划,在移动生产服务器之前,请务必使用测试服务器完成一个或多个试验性移动操作。
重要
客户端应用程序和连接字符串使用完整服务器名称(一个 URI,其中包含服务器所在的区域)连接到 Analysis Services。 例如,asazure://chinanorth.asazure.chinacloudapi.cn/advworks01
。 将服务器移动到其他区域时,实际上会在其他区域中创建一个新的服务器资源,该资源在服务器名称 URI 中会有一个不同的区域。 客户端应用程序和连接字符串(在脚本中使用)必须使用新的服务器名称 URI 连接到新服务器。 使用服务器别名可以减少必须更改服务器名称 URI 的位置数量,但这必须在进行区域移动之前实施。
重要
Azure 区域使用不同的 IP 地址范围。 如果你为服务器和/或存储帐户所在的区域配置了防火墙例外,则可能需要配置一个不同的 IP 地址范围。 若要了解详细信息,请参阅有关 Analysis Services 网络连接的常见问题解答。
备注
本文介绍了如何将数据库备份从源服务器所在区域中的存储容器还原到目标服务器。 在某些情况下,从不同的区域还原备份的性能可能较低,尤其是对于大型数据库而言。 要想在数据库还原期间获得最佳性能,请进行迁移,或者在目标服务器区域中创建一个新的存储容器。 将数据库还原到目标服务器之前,请将 .abf 备份文件从源区域存储容器复制到目标区域存储容器。 在某些情况下(特别是在使用超大数据库的情况下),从源服务器编写数据库脚本,重新创建数据库,然后在目标服务器上进行处理以加载数据库数据可能比使用备份/还原更为经济高效。当然,这超出了本文的讨论范围。
备注
如果使用本地数据网关连接到数据源,则还必须将网关资源移动到目标服务器区域。 若要了解详细信息,请参阅安装并配置本地数据网关。
- Azure 存储帐户:需要使用它来存储 .abf 备份文件。
- SQL Server Management Studio (SSMS):需要使用它来备份和还原模型数据库。
- Azure PowerShell。 仅当你选择使用 PowerShell 来完成此任务时,才需要使用它。
如果尚未为源服务器配置“存储设置”,请按照配置存储设置中的步骤进行操作。
配置存储设置后,请按照备份中的步骤在存储容器中创建模型数据库 .abf 备份。 稍后需要将 .abf 备份还原到新的目标服务器。
模板包含源服务器的配置属性。
若要使用 Azure 门户导出模板:
登录到 Azure 门户。
选择“所有资源”,然后选择你的 Analysis Services 服务器。
选择“设置”>“导出模板”。
选择“导出模板”边栏选项卡中的“下载”。
找到从门户下载的 .zip 文件,然后将该文件解压缩到一个文件夹。
该 zip 文件包含构成模板的 .json 文件以及部署新服务器所需的参数。
通过模板部署目标服务器时,需要使用用户委托 SAS 令牌(作为 URI)来指定包含数据库备份的存储容器。
若要使用门户获取共享访问签名,请执行以下操作:
在门户中,选择用于备份你的服务器数据库的存储帐户。
选择“共享访问签名”,然后在“允许的服务”中选择
Container
,在“允许的资源类型”中选择Blob
。选择“生成 SAS 和连接字符串”。
复制并保存“Blob 服务 SAS URL”。 默认情况下,SAS 会在 24 小时后过期。
使用文本编辑器修改你导出的 template.json 文件,并更改区域和 blob 容器属性。
若要修改模板,请执行以下操作:
在文本编辑器中,在“location”属性中指定新的目标区域。 在“backupBlobContainerUri”属性中,粘贴包含 SAS 密钥的存储容器 URI。
以下示例将服务器 advworks1 的目标区域设置为
China East 2
,并指定包含共享访问签名的存储容器 URI:"resources": [ { "type": "Microsoft.AnalysisServices/servers", "apiVersion": "2017-08-01", "name": "[parameters('servers_advworks1_name')]", "location": "chinaeast2", "sku": { "name": "S1", "tier": "Standard", "capacity": 1 }, "properties": { "asAdministrators": { "members": [ "asadmins@adventure-works.com" ] }, "backupBlobContainerUri": "https://storagechinanorth.blob.core.chinacloudapi.cn/backup?sp=rl&st=2020-06-01T19:30:42Z&se=2020-06-02T19:30:42Z&sv=2019-10-10&sr=c&sig=PCQ4s9RujJkxu89gO4tiDTbE3%2BFECx6zAdcv8x0cVUQ%3D", "querypoolConnectionMode": "All" } } ]
保存模板。
若要获取 Azure 区域,请参阅 Azure 位置。 若要使用 PowerShell 获取区域,请运行 Get-AzLocation 命令。
Get-AzLocation | format-table
若要在其他区域中部署新的服务器资源,需使用在前面的部分导出并修改的 template.json 文件。
在门户中,选择“创建资源”。
在“搜索市场”中键入“模板部署”,然后按 ENTER。
选择“模板部署”。
选择“创建” 。
选择“在编辑器中生成自己的模板”。
选择“加载文件”,然后按说明加载你导出并修改的 template.json 文件。
验证模板编辑器是否显示了你的新目标服务器的正确属性。
选择“保存” 。
输入或选择属性值:
订阅:选择 Azure 订阅。
资源组:选择“新建”并输入资源组名称。 如果某个现有资源组尚未包含同名的 Analysis Services 服务器,则可以选择该资源组。
位置:选择你在模板中指定的同一区域。
选择“查看并创建”。
查看条款和基础知识,然后选择“创建”。
若要从 SSMS 连接到新的目标服务器来还原模型数据库,需要获取新的目标服务器 URI。
若要在门户中获取服务器 URI,请执行以下操作:
在门户中,转到新的目标服务器资源。
在“概述”页上,复制“服务器名称”URI 。
按照还原中介绍的步骤将模型数据库 .abf 备份还原到新的目标服务器。
可选:还原模型数据库后,处理模型和表以从数据源刷新数据。 若要使用 SSMS 处理模型和表,请执行以下操作:
在 SSMS 中,右键单击模型数据库 >“处理数据库”。
展开“表”,右键单击某个表。 在“处理表”中,选择所有表,然后选择“确定”。
在门户中,转到新的目标服务器。
在“概述”页的“Analysis Services 服务器上的模型”中,验证是否显示了还原的模型。
使用 Power BI 或 Excel 之类的客户端应用程序连接到新服务器上的模型。 验证是否显示了模型对象,例如表、度量值和层次结构。
运行任何自动化脚本。 验证它们是否已成功执行。
可选:ALM 工具包是一个开源工具,用于比较和管理 Power BI 数据集和 Analysis Services 表格模型数据库。 使用工具包连接到源服务器和目标服务器数据库,并进行比较。 如果数据库迁移成功,则模型对象会具有相同的定义。
在验证客户端应用程序可以连接到新服务器且任何自动化脚本都在正确执行之后,请删除源服务器。
若要从门户中删除源服务器,请执行以下操作:
在源服务器的“概述”页面上,选择“删除”。
备注
完成区域移动后,建议让新的目标服务器使用同一区域中的存储容器进行备份,而不是使用源服务器区域中的存储容器。