本文介绍如何将 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)
从模板部署目标服务器时,需要用户委托 SAS 令牌(作为 URI)来指定包含数据库备份的存储容器。
若要使用门户获取共享访问签名,请执行以下作:
在门户中,选择用于备份服务器数据库的存储帐户。
选择 “共享访问签名”,然后在
Blob
“允许的服务”和Container
“允许的资源类型”中选择。选择 生成 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 服务器。
位置:选择模板中指定的同一区域。
选择“ 审阅”和“创建”。
查看术语和基础知识,然后选择“ 创建”。
获取目标服务器 URI
若要从 SSMS 连接到新的目标服务器以还原模型数据库,需要获取新的目标服务器 URI。
若要在门户中获取服务器 URI,请执行以下步骤:
在门户中,转到新的目标服务器资源。
在 “概述 ”页上,复制 服务器名称 URI。
还原模型数据库
按照 还原 中所述的步骤将模型数据库 .abf 备份还原到新的目标服务器。
可选:还原模型数据库后,处理模型和表以刷新数据源中的数据。 要使用 SSMS 处理模型和表,请执行以下步骤:
在 SSMS 中,右键单击模型数据库 >进程数据库。
展开 表,右键单击表。 在 “进程表”中,选择所有表,然后选择“ 确定”。
验证
在门户中,转到新的目标服务器。
在“概述”页上的 Analysis Services 服务器上的“模型”中,验证已还原的模型是否显示。
使用 Power BI 或 Excel 等客户端应用程序连接到新服务器上的模型。 验证模型对象(如表、度量值、层次结构)是否显示。
运行任何自动化脚本。 验证它们是否已成功执行。
可选:ALM 工具包是用于比较和管理 Power BI 数据集和 Analysis Services 表格模型数据库的开源工具。 使用工具包连接到源和目标服务器数据库并进行比较。 如果数据库迁移成功,模型对象将具有相同的定义。
清理资源
验证客户端应用程序可以连接到新服务器并正确执行任何自动化脚本后,请删除源服务器。
若要从门户删除源服务器,请执行以下作:
在源服务器的 “概述 ”页中,选择“ 删除”。
注释
完成区域移动后,建议新的目标服务器使用同一区域中的存储容器进行备份,而不是源服务器区域中的存储容器。