共用方式為


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 傳送和接收 SOAP 封包中的 XML,或透過 Internet Information Services 透過 HTTP 透過 HTTP 傳送和接收 XML 以進行分析,以與 SQL Server Analysis Services 伺服器通訊。 HTTP 聯機會使用 IIS 具現化的 COM 物件,稱為數據幫浦,其可作為 SQL Server Analysis Services 數據的管道。 數據幫浦不會以任何方式檢查 HTTP 數據流中包含的基礎數據,也不檢查任何可供數據連結庫本身任何程式代碼使用的基礎數據結構。

Analysis Services 的邏輯客戶端架構,

Win32 用戶端應用程式可以使用 OLE DB for OLAP 介面或元件物件模型 (COM) 自動化語言的 Microsoft® ActiveX® Data Objects (ADO) 物件模型來聯機到 SQL Server Analysis Services 伺服器,例如 Microsoft Visual Basic®。 使用 .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 以進行分析。 用戶端可以使用任何支援SOAP的語言來撰寫程式代碼。 在此情況下,通訊最容易由使用 HTTP 的 Internet Information Services (IIS) 管理,不過也可以使用 TCP/IP 直接連線至伺服器。 這是 SQL Server Analysis Services 最精簡的可能客戶端解決方案。

表格式或 SharePoint 模式中的 Analysis Services

在 SQL Server 2017 中,伺服器可以在 VertiPaq 記憶體內部分析引擎 (VertiPaq) 模式中啟動,適用於表格式資料庫,以及已發行至 SharePoint 網站的 Power Pivot 活頁簿。

Power Pivot for Excel 和 SQL Server Data Tools 是唯一支援建立及查詢使用 SharePoint 或表格式模式之內存內部資料庫的客戶端環境。 您使用 Excel 和 Power Pivot 工具建立的內嵌 Power Pivot 資料庫包含在 Excel 活頁簿中,並儲存為 Excel .xlsx 檔案的一部分。

不過,如果您將 Cube 數據匯入活頁簿,Power Pivot 活頁簿可以使用儲存在傳統 Cube 中的數據。 如果數據已發行至 SharePoint 網站,您也可以從另一個 Power Pivot 活頁簿匯入數據。

注意

當您使用 Cube 作為 Power Pivot 活頁簿的數據源時,您從 Cube 取得的數據會定義為 MDX 查詢;不過,數據會匯入為扁平化快照集。 您無法以互動方式處理數據,或從 Cube 重新整理數據。

Power Pivot 用戶端的介面

Power Pivot 會使用 Analysis Services 的已建立介面和語言,與活頁簿內的 VertiPaq 記憶體內部分析引擎儲存引擎互動:AMO 和 ADOMD.NET,以及 MDX 和 XMLA。 在載入宏中,量值是使用類似 Excel、數據分析表示式 (DAX) 的公式語言來定義。 DAX 運算式內嵌在傳送至進程內伺服器的 XMLA 訊息中。

供應商

Power Pivot 與 Excel 之間的通訊會使用 MSOLAP OLEDB 提供者(11.0 版)。 在 MSOLAP 提供者中,有四個不同的模組或傳輸可用來在用戶端與伺服器之間傳送訊息。

TCP/IP 用於一般用戶端伺服器連線。

HTTP 用於透過 SSAS 資料幫浦服務進行 HTTP 連線,或透過呼叫 SharePoint Power Pivot Web 服務 (WS) 元件。

INPROC 用於與進程內引擎的連線。

信道 保留給 SharePoint 伺服器陣列中 Power Pivot 系統服務的通訊。

另請參閱

OLAP 引擎伺服器元件