Analysis Services 开发的客户端体系结构要求

适用于: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Microsoft SQL Server SQL Server Analysis Services 支持瘦客户端体系结构。 SQL Server Analysis Services计算引擎完全基于服务器,因此所有查询都在服务器上解析。 因此,每个查询只需在客户端和服务器之间进行一次来回行程,从而使得性能可以随着查询复杂性的增加而伸缩。

SQL Server Analysis Services的本机协议是 XML for Analysis (XML/A) 。 SQL Server Analysis Services为客户端应用程序提供了多个数据访问接口,但所有这些组件都使用 XML for Analysis 与 SQL Server Analysis Services 实例通信。

提供了多个不同的提供程序SQL Server Analysis Services,以支持不同的编程语言。 提供程序通过 TCP/IP 或通过 Internet Information Services (IIS) 通过 HTTP 发送和接收 SOAP 数据包中的 XML for Analysis 与SQL Server Analysis Services服务器通信。 HTTP 连接使用 IIS 实例化的 COM 对象(称为数据泵),该对象充当SQL Server Analysis Services数据的管道。 数据抽取既不会以任何方式检查包含在 HTTP 流中的基础数据,也不会检查可用于数据库本身中任何代码的任何基础数据结构。

Analysis Services 的逻辑

Win32 客户端应用程序可以使用 OLE DB for OLAP 接口或 Microsoft® ActiveX® 数据对象 (ADO) 组件对象模型 (COM) 自动化语言(例如 Microsoft Visual Basic®)连接到SQL Server Analysis Services服务器。 使用 .NET 语言编码的应用程序可以使用 ADOMD.NET 连接到SQL Server Analysis Services服务器。

现有应用程序只需使用SQL Server Analysis Services提供程序之一即可与SQL Server Analysis Services通信,而无需修改。

编程语言 数据访问接口
C++ OLE DB for OLAP
Visual Basic 6 ADO MD
.NET 语言 ADO MD.NET
支持 SOAP 的任何语言 XML for Analysis

SQL Server Analysis Services具有具有完全可缩放的中间层的 Web 体系结构,可供小型和大型组织部署。 SQL Server Analysis Services为 Web 服务提供广泛的中间层支持。 OLE DB for OLAP 和 ADO MD 支持 ASP 应用程序,ADOMD.NET 支持 ASP.NET 应用程序。 中间层(如下图中所示)可进行伸缩以供众多并发用户使用。

中间层体系结构的

客户端和中间层应用程序都可以直接与SQL Server Analysis Services通信,而无需使用提供程序。 客户端应用程序和中间层应用程序可以通过 TCP/IP、HTTP 或 HTTPS 使用 SOAP 数据包发送 XML for Analysis。 客户端可以使用任何支持 SOAP 的语言进行编码。 在这种情况下,尽管也可对使用 TCP/IP 与服务器建立的直接连接进行编码,但通信可由 Internet Information Services (IIS) 使用 HTTP 以最轻松的方式进行管理。 这是适用于SQL Server Analysis Services的最精简的客户端解决方案。

表格或 SharePoint 模式下的 Analysis Services

在 2017 SQL Server中,可以在 VertiPaq 内存中分析引擎中启动服务器, (适用于表格数据库和已发布到 SharePoint 网站的 Power Pivot 工作簿的 VertiPaq) 模式。

Power Pivot for Excel 和 SQL Server Data Tools 是分别支持创建和查询使用 SharePoint 或表格模式的内存中数据库的唯一客户端环境。 使用 Excel 和 Power Pivot 工具创建的嵌入式 Power Pivot 数据库包含在 Excel 工作簿中,并保存为 Excel .xlsx 文件的一部分。

但是,如果将多维数据集数据导入工作簿,Power Pivot 工作簿可以使用存储在传统多维数据集中的数据。 如果数据已发布到 SharePoint 网站,还可以从另一个 Power Pivot 工作簿导入数据。

注意

使用多维数据集作为 Power Pivot 工作簿的数据源时,从多维数据集获取的数据将定义为 MDX 查询;但是,数据作为平展快照导入。 您不能以交互方式使用数据或刷新来自多维数据集的数据。

Power Pivot 客户端的接口

Power Pivot 使用 Analysis Services 的已建立接口和语言(AMO 和 ADOMD.NET 以及 MDX 和 XMLA)与工作簿中的 VertiPaq 内存中分析引擎存储引擎进行交互。 在该外接程序内,通过使用与 Excel、数据分析表达式 (DAX) 类似的公式语言定义度量值。 DAX 表达式嵌入在发送到进程内服务器的 XMLA 消息内。

提供程序

Power Pivot 和 Excel 之间的通信使用 MSOLAP OLEDB 提供程序 (版本 11.0) 。 在 MSOLAP 访问接口内,有四个可用于在客户端和服务器之间发送消息的不同的模块或传输。

TCP/IP 用于正常的客户端-服务器连接。

HTTP 用于通过 SSAS 数据泵服务或通过调用 SharePoint Power Pivot Web 服务 (WS) 组件进行 HTTP 连接。

INPROC 用于连接到进程内引擎。

通道 保留用于与 SharePoint 场中的 Power Pivot 系统服务通信。

另请参阅

OLAP 引擎服务器组件