对度量值组进行分区时,可以将远程 Analysis Services 实例上的辅助数据库配置为分区存储。
多维数据集(称为主数据库)的远程分区被存储在远程实例的 Analysis Services 的专用数据库中,该远程实例也称为辅助数据库。
专用辅助数据库可以存储一个和一个主数据库的远程分区,但主数据库可以使用多个辅助数据库,前提是所有辅助数据库都位于 Analysis Services 的同一远程实例上。 专用于远程分区的数据库中的维度将创建为链接维度。
先决条件
在创建远程分区之前,必须满足以下条件:
必须有另一个 Analysis Services 实例和专用数据库来存储分区。 辅助数据库是单一用途;它为 master 数据库提供远程分区的存储。
这两个服务器实例都必须是相同的版本。 这两个数据库应具有相同的功能级别。
必须为 TCP 连接配置这两个实例。 Analysis Services 不支持使用 HTTP 协议创建远程分区。
必须将这两台计算机上的防火墙设置设置为接受外部连接。 有关设置防火墙的信息,请参阅 配置 Windows 防火墙以允许 Analysis Services 访问。
运行 master 数据库的实例的服务帐户必须具有对 Analysis Services 远程实例的管理访问权限。 如果服务帐户发生更改,则必须更新对服务器和数据库的权限。
你必须是两台计算机上的 Analysis Services 管理员。
必须确保灾难恢复计划能够容纳远程分区的备份和还原。 使用远程分区可能会使备份和还原作复杂化。 请务必彻底测试计划,以确保可以还原必要的数据。
配置远程分区
运行 SQL Server Analysis Services 实例的两台独立计算机都需要创建一个远程分区排列,将一台计算机指定为主服务器,另一台计算机作为从属服务器。
以下过程假设你有两个服务器实例,Cube数据库已部署在主服务器上。 出于此过程的目的,多维数据集数据库称为 db-master。 包含远程分区的存储数据库称为 db-storage。
你将使用 SQL Server Management Studio 和 SQL Server Data Tools (SSDT) 来完成此过程。
注释
远程分区只能与其他远程分区合并。 如果使用本地分区和远程分区的组合,另一种方法是创建包含合并数据的新分区,删除不再使用的分区。
为多维数据集部署指定有效的服务器名称(在 SSDT 中)
在主服务器上:在解决方案资源管理器中,右键单击解决方案名称并选择“ 属性”。 在“ 属性 ”对话框中,单击“ 配置属性”,然后单击“ 部署”,然后单击“ 服务器 ”并设置主服务器的名称。
在从属服务器上:在解决方案资源管理器中,右键单击解决方案名称并选择 “属性”。 在“ 属性 ”对话框中,单击“ 配置属性”,然后单击“ 部署”,然后单击“ 服务器 ”并设置从属服务器的名称。
创建和部署辅助数据库(在 SSDT 中)
在从属服务器上:为存储数据库创建新的 Analysis Services 项目。
在从属服务器上:在解决方案资源管理器中,创建指向多维数据集数据库 db-master 的新数据源。 使用提供程序 Native OLE DB\Microsoft OLE DB Provider for Analysis Services 11.0。
在从属服务器上:部署解决方案。
启用功能(在 SSMS 中)
在从属服务器上:在 SQL Server Management Studio 中,右键单击对象资源管理器中连接的 Analysis Services 实例,然后选择“ 属性”。 将 Feature\LinkToOtherInstanceEnabled 和 Feature\LinkFromOtherInstanceEnabled 设置为 True。
在从属服务器上:通过在对象资源管理器中右键单击服务器名称并选择 “重启”来重启服务器。
在主服务器上:在 SQL Server Management Studio 中,右键单击对象资源管理器中连接的 Analysis Services 实例,然后选择“ 属性”。 将 Feature\LinkToOtherInstanceEnabled 和 Feature\LinkFromOtherInstanceEnabled 设置为 True。
在主服务器上:若要重启服务器,请在对象资源管理器中右键单击服务器名称,然后选择“ 重启”。
在远程服务器上设置 MasterDataSourceID 数据库属性(在 SSMS 中)
在从属服务器上:右键单击存储数据库(db-storage),指向“ 将数据库脚本编写为 | ALTER 到 | 新查询编辑器窗口”。
将 MasterDataSourceID 添加到 XMLA,然后将多维数据集数据库 db-master ID 指定为值。 XMLA 应该与以下内容类似。
<Alter ObjectExpansion="ExpandFull" xmlns="https://schemas.microsoft.com/analysisservices/2003/engine"> <Object> <DatabaseID>DB-Storage</DatabaseID> </Object> <ObjectDefinition> <Database xmlns:xsd="http://www.w3.org/2001/XMLSchema" 400" <ID>DB-Storage</ID> <Name>DB-StorageB</Name> <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel> <Language>1033</Language> <Collation>Latin1_General_CI_AS</Collation> <DataSourceImpersonationInfo> <ImpersonationMode>ImpersonateAccount</ImpersonationMode> <Account>*********</Account> </DataSourceImpersonationInfo> <MasterDataSourceID>DB-Master</MasterDataSourceID> </Database> </ObjectDefinition> </Alter>
按 F5 执行脚本。
设置远程分区(在 SSDT 中)
在主服务器上:在多维数据集设计器中打开多维数据集,然后单击“ 分区 ”选项卡。展开度量值组。 如果已为多个分区配置度量值组,请单击“源”列中的“ 新建分区 ”按钮,或单击“源”列中的“浏览”按钮以编辑现有分区。
在分区向导的 “指定源信息”中,选择原始数据源视图和事实数据表。
如果使用查询绑定,请提供一个 WHERE 子句,用于对要创建的新分区的数据进行分段。
在处理和存储位置的处理位置下,选择远程分析服务数据源,然后单击新建以创建一个指向您的从属数据库“db-storage”的新数据源。
注释
如果您收到错误提示指出集合中不存在数据源,则必须打开存储数据库项目 db-storage,并创建一个指向主数据库 db-master 的数据源。
在主服务器上:在解决方案资源管理器中右键单击多维数据集名称,选择“ 进程 ”并完全处理多维数据集。
管理远程分区
Analysis Services 支持远程分区的并行处理和顺序处理。 定义分区的主数据库负责协调所有参与处理多维数据集分区的实例之间的事务。 然后,处理报告将被发送到处理分区的所有实例。
可以将包含远程分区的多维数据集与其分区一起管理在 Analysis Services 的单个实例上。 但是,只能在定义分区及其父多维数据集的 Analysis Services 实例上查看和更新远程分区的元数据。 无法在 Analysis Services 的远程实例上查看或更新远程分区。
注释
尽管专用于存储远程分区的数据库不会向架构行集公开,但使用 Analysis Management 对象(AMO)的应用程序仍可以使用 XML for Analysis Discover 命令发现专用数据库。 使用 TCP 或 HTTP 客户端直接发送到专用数据库的任何 CREATE 或 DELETE 命令都将成功,但服务器将返回一条警告,指示该作可能会损坏此紧密管理的数据库。