建立和管理遠端資料分割 (Analysis Services)
適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
分割量值群組時,您可以將遠端 SQL Server Analysis Services 實例上的輔助資料庫設定為資料分割記憶體。
Cube 的遠端分割區(稱為 master 資料庫)會儲存在 SQL Server Analysis Services 遠端實例的專用 SQL Server Analysis Services 資料庫中(稱為輔助資料庫)。
專用輔助資料庫可以儲存一個和一個 master 資料庫的遠端分割區,但 master 資料庫可以使用多個輔助資料庫,只要所有輔助資料庫都位於 SQL Server Analysis Services 的相同遠端實例上。 專用於遠端數據分割之資料庫中的維度會建立為連結維度。
先決條件
建立遠端分割區之前,必須符合下列條件:
您必須有第二個 SQL Server Analysis Services 實例和專用資料庫來儲存分割區。 輔助資料庫是單一用途;它會為 master 資料庫提供遠端資料分割的記憶體。
這兩個伺服器實例都必須是相同的版本。 這兩個資料庫都應該是相同的功能等級。
這兩個實例都必須針對TCP連線進行設定。 SQL Server Analysis Services 不支援使用 HTTP 通訊協定建立遠端分割區。
這兩部電腦上的防火牆設定必須設定為接受外部連線。 如需設定防火牆的相關信息,請參閱 設定 Windows 防火牆以允許 Analysis Services 存取。
執行 master 資料庫之實例的服務帳戶必須具有 SQL Server Analysis Services 遠端實例的系統管理存取權。 如果服務帳戶變更,您必須更新伺服器和資料庫的許可權。
您必須是這兩部電腦上的 SQL Server Analysis Services 系統管理員。
您必須確定災害復原計劃能容納遠端分割區的備份和還原。 使用遠端數據分割可能會使備份和還原作業複雜化。 請務必徹底測試您的計劃,以確保您可以還原必要的數據。
設定遠端數據分割
執行 SQL Server SQL Server Analysis Services 實例的兩部個別計算機,都需要建立遠端數據分割排列方式,將一部計算機指定為主伺服器,另一部計算機做為輔助伺服器。
下列程式假設您有兩個伺服器實例,而 Cube 資料庫部署在主伺服器上。 基於此程式的目的,Cube 資料庫稱為 db-master。 包含遠端分割區的記憶體資料庫稱為 db-storage。
您將同時使用 SQL Server Management Studio 和 SQL Server Data Tools 來完成此程式。
注意
遠端分割區只能與其他遠端分割區合併。 如果您使用本機和遠端數據分割的組合,替代方法是建立包含合併數據的新分割區,並刪除您不再使用的數據分割。
指定 Cube 部署的有效伺服器名稱(在 SSDT 中)
在主伺服器上:在 [方案總管] 中,以滑鼠右鍵按兩下方案名稱,然後選取 [[屬性]。 在 [屬性] 對話框中,按兩下 [組態屬性],然後按兩下 [部署],然後按兩下 [伺服器] 並設定主伺服器的名稱。
在輔助伺服器上:在 [方案總管] 中,以滑鼠右鍵按兩下方案名稱,然後選取 [[屬性]。 在 [屬性] 對話框中,按兩下 [組態屬性],然後按兩下 [部署],然後按兩下 [Server],然後設定輔助伺服器的名稱。
建立及部署輔助資料庫 (在 SSDT 中)
在輔助伺服器上:為記憶體資料庫建立新的 Analysis Services 專案。
在輔助伺服器上:在 [方案總管] 中,建立指向 Cube 資料庫 db-master 的新數據源。 使用 provider Native OLE DB\Microsoft OLE DB Provider for Analysis Services 11.0。
在輔助伺服器上:部署解決方案。
啟用功能 (在 SSMS 中)
在輔助伺服器上:在 SQL Server Management Studio 中,以滑鼠右鍵按兩下 [物件總管] 中已連線的 SQL Server Analysis Services 實例,然後選取 [屬性]
。 將 Feature\LinkToOtherInstanceEnabled 和Feature\LinkFromOtherInstanceEnabled 設為 true。 在輔助伺服器上:以滑鼠右鍵按兩下 [物件總管] 中的伺服器名稱,然後選取 [重新啟動],以重新啟動伺服器。
在主伺服器上:在 SQL Server Management Studio 中,以滑鼠右鍵按兩下 [物件總管] 中的已連線 SQL Server Analysis Services 實例,然後選取 [屬性]
。 將 Feature\LinkToOtherInstanceEnabled 和Feature\LinkFromOtherInstanceEnabled 設為 true。 在主伺服器上:若要重新啟動伺服器,請在 [物件總管] 中以滑鼠右鍵按兩下伺服器名稱,然後選取 [重新啟動]。
在遠端伺服器上設定 MasterDataSourceID 資料庫屬性 (在 SSMS 中)
在輔助伺服器上:以滑鼠右鍵按兩下記憶體資料庫 db-storage,指向 [腳本資料庫], | ALTER To | [新增查詢編輯器] 視窗。
將 MasterDataSourceID 新增至 XMLA,然後將 Cube 資料庫 db-master、ID 指定為值。 XMLA 看起來應該如下所示。
<Alter ObjectExpansion="ExpandFull" xmlns="http://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 中)
在主伺服器上:在 Cube 設計師中開啟 Cube,然後按兩下 [分割區] 索引標籤。展開量值群組。 如果已針對多個分割區設定量值群組,或按兩下 [來源] 資料行中的 [流覽] 按鈕來編輯現有的分割區,請按兩下 [[新增數據分割]。
在 [數據分割精靈] 的 [指定來源資訊]中,選取原始的 [數據源檢視] 和 [事實數據表]。
如果使用查詢系結,請提供WHERE子句來分割您要建立之新分割區的數據。
在 [
處理和儲存位置 ] 的 [處理位置]下,選擇 [ 遠端 Analysis Services 數據源] ,然後按兩下 [[新增] ,以建立指向您次級資料庫 db-storage 的新數據源。注意
如果您收到錯誤,指出數據源不存在於集合中,您必須開啟記憶體資料庫、資料庫記憶體的專案,並建立指向 master 資料庫的數據源 db-master。
在主伺服器上:以滑鼠右鍵按兩下 [方案總管] 中的 Cube 名稱,選取 [處理 並完整處理 Cube。
管理遠端數據分割
SQL Server Analysis Services 同時支援遠端數據分割的平行處理和循序處理。 定義分割區的主資料庫會協調參與處理 Cube 數據分割之所有實例之間的交易。 然後,處理報表會傳送至處理數據分割的所有實例。
包含遠端數據分割的 Cube 可以與其在 SQL Server Analysis Services 單一實例上的分割區一起管理。 不過,遠端數據分割的元數據只能在定義數據分割及其父 Cube 的 SQL Server Analysis Services 實例上檢視和更新。 無法在 SQL Server Analysis Services 的遠端實例上檢視或更新遠端分割區。
注意
雖然專用於儲存遠端數據分割的資料庫不會公開至架構數據列集,但使用 Analysis Management Objects (AMO) 的應用程式仍然可以使用 XML for Analysis Discover 命令來探索專用資料庫。 任何使用 TCP 或 HTTP 用戶端直接傳送至專用資料庫的 CREATE 或 DELETE 命令都會成功,但伺服器會傳回警告,指出動作可能會損毀這個受管理的資料庫。