创建和管理远程分区 (Analysis Services)
对度量值组进行分区时,可以将远程 Analysis Services 实例上的辅助数据库配置为分区存储。
多维数据集 (称为 master 数据库) 的远程分区存储在 Analysis Services 远程实例上的专用 Analysis Services 数据库中, (称为辅助数据库) 。
专用辅助数据库可以存储一个且仅一个主数据库的远程分区,但 master 数据库可以使用多个辅助数据库,只要所有辅助数据库都位于 Analysis Services 的同一远程实例上。 数据库中专用于远程分区的维度作为链接维度创建。
先决条件
在创建远程分区之前,必须满足以下条件:
必须具有第二个 Analysis Services 实例和专用数据库来存储分区。 辅助数据库只有一个用途:它提供主数据库的远程分区存储。
两个服务器实例必须是相同版本。 两个数据库应该具有相同功能级别。
两个实例都必须配置为进行 TCP 连接。 Analysis Services 不支持使用 HTTP 协议创建远程分区。
两个计算机上的防火墙设置都必须设置为接受外部连接。 有关设置防火墙的详细信息,请参阅 将 Windows 防火墙配置为允许 Analysis Services 访问。
运行 master 数据库的实例的服务帐户必须对 Analysis Services 的远程实例具有管理访问权限。 如果该服务帐户更改,您必须更新对服务器和数据库的权限。
你必须是两台计算机上的 Analysis Services 管理员。
您必须确保灾难恢复计划适合远程分区的备份和还原。 使用远程分区可能使备份和还原操作变得复杂。 请确保仔细测试您的计划,以确保能够还原必需的数据。
配置远程分区
需要两台运行 SQL Server Analysis Services 实例的独立计算机来创建远程分区排列,将一台计算机指定为主服务器,另一台计算机指定为从属服务器。
以下过程假定您有两个服务器实例,且在主服务器上部署了多维数据集数据库。 为了实现此过程的目的,我们将多维数据集数据库称为 db-master。 将包含远程分区的存储数据库称为 db-storage。
你将使用 SQL Server Management Studio 和 SQL Server Data Tools (SSDT) 来完成此过程。
注意
远程分区只能与其他远程分区进行合并。 如果您在结合使用本地和远程分区,则也可以创建包括组合数据的新分区,删除不再使用的分区。
为多维数据集部署指定有效服务器名称(在 SSDT 中)。
在主服务器上:在解决方案资源管理器中,右键单击解决方案名称,然后选择“属性”。 在 “属性” 对话框中,单击 “配置属性”,然后依次单击 “部署”和 “服务器” ,并设置主服务器名称。
在从属服务器上:在解决方案资源管理器中,右键单击解决方案名称,然后选择“属性”。 在 “属性” 对话框中,单击 “配置属性”,然后依次单击 “部署”和 “服务器” ,并设置从属服务器名称。
创建并部署辅助数据库(在 SSDT 中)
在从属服务器上:为存储数据库创建一个新 Analysis Services 项目。
在从属服务器上:在解决方案资源管理器中创建一个指向多维数据集数据库 db-master 的新数据源。 使用访问接口“本机 OLE DB\Microsoft OLE DB Provider for Analysis Services 11.0”。
在从属服务器上:部署解决方案。
启用功能(在 SSMS 中)
在从属服务器上:在“SQL Server Management Studio”中,右键单击对象资源管理器中连接的 Analysis Services 实例,然后选择“属性”。 将“功能\LinkToOtherInstanceEnabled”和“功能\LinkFromOtherInstanceEnabled”都设置为 True。
在从属服务器上:在对象资源管理器中右键单击服务器名称并选择“重新启动”,以重启服务器。
在主服务器上:在“SQL Server Management Studio”中,右键单击对象资源管理器中连接的 Analysis Services 实例,然后选择“属性”。 将“功能\LinkToOtherInstanceEnabled”和“功能\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 中)
在主服务器上:在多维数据集Designer打开多维数据集,然后单击“分区”选项卡。展开度量值组。 如果度量值组已为多个分区配置,请单击“ 新建 分区”,或单击浏览 (。.) “源”列中的按钮可编辑现有分区。
在分区向导的 “指定源信息”中,选择初始数据源视图和事实数据表。
如果正在使用查询绑定,请提供将要创建的新分区的数据进行分段的 WHERE 子句。
在“处理和存储位置”中,在“处理位置”下选择“远程 Analysis Services 数据源”,并单击“新建”以创建指向从属数据库 db-storage 的新数据源。
注意
如果收到错误,指示数据源在集合中不存在,则必须打开存储数据库 db-storage 的项目,并创建指向主数据库 db-master 的数据源。
在主服务器上:在解决方案资源管理器中右键单击多维数据集名称,选择“处理”,全面处理该多维数据集。
管理远程分区
Analysis Services 支持远程分区的并行和顺序处理。 定义了分区的主数据库将在参与多维数据集分区处理的所有实例之间协调事务。 然后,将处理报表发送给处理了某一分区的所有实例。
可以在 Analysis Services 的单个实例上管理包含远程分区的多维数据集及其分区。 但是,只能在定义了分区及其父多维数据集的 Analysis Services 实例上查看和更新远程分区的元数据。 无法在 Analysis Services 的远程实例上查看或更新远程分区。
注意
尽管不向架构行集公开专用于存储远程分区的数据库,但使用分析管理对象 (AMO) 的应用程序仍可以通过使用 XML for Analysis Discover 命令来发现专用数据库。 通过使用 TCP 或 HTTP 客户端直接发送到专用数据库的所有 CREATE 或 DELETE 命令都将成功,但服务器将返回一个警告,指示该操作可能会损害这一紧密管理的数据库。