同步處理 Analysis Services 資料庫

適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server Analysis Services 包含資料庫同步處理功能,藉由將數據和源伺服器上的資料庫元數據複製到目的地伺服器上的資料庫,使兩個 SQL Server Analysis Services 資料庫相等。 使用同步處理資料庫功能來完成下列任何工作:

  • 將資料庫從預備伺服器部署到生產伺服器。

  • 使用預備伺服器上資料庫中數據和元數據所做的變更,更新生產伺服器上的資料庫。

  • 產生 XMLA 文稿,以在未來執行以同步處理資料庫。

  • 在多個伺服器上處理 Cube 和維度的分散式工作負載中,使用資料庫同步處理將變更合併到單一資料庫。

資料庫同步處理會在目的地伺服器上起始,並將數據和元數據提取至來源伺服器上的資料庫複本。 如果資料庫不存在,則會建立資料庫。 同步處理是單向的一次性作業,會在複製資料庫之後結束。 它不會在資料庫之間提供即時同位。

您可以重新同步來源和目的地伺服器上已存在的資料庫,將預備伺服器的最新變更提取到生產資料庫。 系統會比較兩部伺服器上的檔案以進行變更,而且會更新不同檔案。 當同步處理發生在背景時,目的地伺服器上的現有資料庫仍可供使用。 同步處理進行時,用戶可以繼續查詢目的地資料庫。 同步處理完成後,SQL Server Analysis Services 會自動將使用者切換至新複製的數據和元數據,並從目的地資料庫卸除舊數據。

若要同步處理資料庫,請執行同步處理資料庫精靈來立即同步處理資料庫,或使用它來產生稍後可執行的同步處理腳本。 這兩種方法都可以用來增加 SQL Server Analysis Services 資料庫和 Cube 的可用性和延展性。

注意

下列針對舊版 Analysis Services 撰寫的白皮書仍適用於使用 SQL Server 2012 建置的可調整多維度解決方案。 如需詳細資訊,請參閱 Scale-Out 使用 Analysis Services 查詢Scale-Out 使用 Read-Only 資料庫查詢 Analysis Services

先決條件

在起始資料庫同步處理的目的地(或目標)伺服器上,您必須是 Analysis Services 伺服器管理員角色的成員。 在來源伺服器上,您的 Windows 使用者帳戶必須具有源資料庫的完整控制許可權。 如果您要以互動方式同步處理資料庫,請記住同步處理會在 Windows 使用者身分識別的安全性內容下執行。 如果您的帳戶拒絕存取特定對象,這些物件將會從作業中排除。 如需伺服器管理員角色和資料庫許可權的詳細資訊,請參閱 將伺服器管理員許可權授與 Analysis Services 實例授與資料庫許可權

這兩部伺服器上都必須開啟 TCP 連接埠 2383,才能允許預設實例之間的遠端連線。 如需在 Windows 防火牆中建立例外狀況的詳細資訊,請參閱 將 Windows 防火牆設定為允許 Analysis Services 存取

來源和目的地伺服器都必須是相同的版本和 Service Pack。 因為模型元數據也會同步處理,以確保這兩部伺服器的組建編號應該相同。 每個安裝的版本都必須支援資料庫同步處理。 在 SQL Server 2017 中,企業、開發人員和商業智慧版本支援資料庫同步處理。 如需每個版本功能的詳細資訊,請參閱 sql Server 2016 版本和支援的功能

伺服器部署模式在每個伺服器上都必須相同。 如果您要同步處理的資料庫是多維度,則必須針對多維度伺服器模式設定來源和目的地伺服器。 如需部署模式的詳細資訊,請參閱 判斷 Analysis Services 實例的伺服器模式

如果您在來源伺服器上使用它,請關閉延遲匯總處理。 在背景中處理的匯總可能會干擾資料庫同步處理。 如需設定此伺服器屬性的詳細資訊,請參閱 OLAP 屬性

注意

資料庫大小是判斷同步處理是否適合的方法的因素。 沒有任何硬性需求,但如果同步處理速度太慢,請考慮平行同步處理多部伺服器,如本技術檔所述:Analysis Services 同步處理最佳做法

同步處理資料庫精靈

使用 [同步處理資料庫精靈] 來執行從來源到目的地資料庫的單向同步處理,或產生指定資料庫同步作業的腳本。 您可以在同步處理程式期間同步處理本機和遠端數據分割,並選擇是否要包含角色。

同步處理資料庫精靈會引導您完成下列步驟:

  • 選取要同步的來源實例和資料庫。

  • 選取目的地實例上本機分割區的儲存位置。

  • 選取其他目的地實例上遠端分割區的儲存位置。

  • 選取要從來源實例和資料庫複製到目的地實例的安全性和成員資格資訊層級。

  • 選取是否要立即同步處理,還是將 XML for Analysis (XMLA) Synchronize 命令所產生的同步處理資料庫精靈所產生的命令儲存至腳本檔案,以供稍後同步處理。

根據預設,精靈會同步處理現有安全組中成員資格以外的所有數據和元數據。 您也可以在同步處理數據和元數據時複製所有安全性設定,或忽略所有安全性設定。

執行精靈

  1. 在 SQL Server Management Studio 中,連接到將執行目的地資料庫的 SQL Server Analysis Services 實例。 例如,如果您要將資料庫部署到生產伺服器,您會在實際執行伺服器上執行精靈。

  2. 在 [物件總管] 中,以滑鼠右鍵按兩下 [Databases] 資料夾,然後按兩下 [同步處理]。

  3. 指定來源伺服器和源資料庫。 在 [選取要同步處理的資料庫] 頁面中,在 [來源伺服器] 和 [源資料庫]中,輸入源伺服器和源資料庫的名稱。 例如,如果您要從測試環境部署到生產伺服器,來源就是預備伺服器上的資料庫。

    目的地伺服器 會顯示 SQL Server Analysis Services 實例的名稱,其中會同步處理源資料庫中所選取 資料庫中的數據和元數據。

    來源和目的地資料庫將會進行同步處理,且具有相同名稱。 如果目的地伺服器已經有與源資料庫共用相同名稱的資料庫,目的地資料庫將會使用來源的元數據和數據來更新。 如果資料庫不存在,則會在目的地伺服器上建立資料庫。

  4. 選擇性地變更本機數據分割的位置。 使用 [指定本機數據分割的位置] 頁面,即可指出本機分割區應該儲存在目的地伺服器上的位置。

    注意

    只有當指定的資料庫中至少有一個本機分割區存在時,才會顯示此頁面。

    如果來源伺服器的磁碟驅動器 C 上安裝一組分割區,精靈可讓您將此數據分割集複製到目的地伺服器上的不同位置。 如果您未變更預設位置,精靈會將來源伺服器上每個 Cube 內的量值群組分割部署到目的地伺服器上的相同位置。 同樣地,如果來源伺服器使用遠端分割區,目的地伺服器上會使用相同的遠端分割區。

    [位置] 選項會顯示一個方格,其中列出要儲存在目的地實例上之本機數據分割的源數據夾、目的地資料夾和估計大小。 方格包含下列資料列:

    源數據夾
    在包含本機分割區的來源 SQL Server Analysis Services 實例上顯示資料夾名稱。 如果數據行包含值 “(Default)”,來源實例的預設位置會包含本機分割區。

    目的地資料夾
    在要同步處理本機分割區的目的地 SQL Server Analysis Services 實例上顯示資料夾名稱。 如果數據行包含值 “(Default)”,目的地實例的預設位置會包含本機分割區。

    按兩下省略號 (...) 按鈕以顯示 [瀏覽遠端資料夾] 對話方塊的 [瀏覽遠端資料夾] 對話框,並指定目的地實例上的資料夾,其中應同步處理儲存在所選位置的本機分割區。

    注意

    無法針對儲存在來源實例之預設位置的本機分割區變更此數據行。

    大小
    顯示本機分割區的估計大小。

    選取位置中的 分割區 選項會顯示一個方格,描述儲存在 [來源 SQL Server Analysis Services] 實例上所指定位置的本機分割區,[位置]中所選數據列的 [源數據列] 數據行。

    Cube
    顯示包含數據分割的 Cube 名稱。

    量值群組
    在包含數據分割的 Cube 中顯示量值群組的名稱。

    分割區名稱
    顯示數據分割的名稱。

    大小(Mb)
    以 MB 為單位顯示分割區的大小。

  5. 選擇性地變更遠端分割區的位置。使用 [指定遠端數據分割的位置] 頁面,指出是否應該同步處理來源伺服器上指定資料庫所管理的遠端數據分割,以及指定目的地 SQL Server Analysis Services 實例和資料庫,其中應儲存選取的遠端分割區。

    注意

    只有當來源 SQL Server Analysis Services 實例上的指定資料庫管理至少一個遠端分割區時,才會顯示此頁面。

    [位置] 選項會顯示一個方格,其中列出儲存源資料庫遠端數據分割位置的詳細數據,包括來源和目的地資訊,以及每個位置所使用的儲存大小,可從選取的資料庫取得。 方格包含下列資料列:

    同步處理
    選取以包含同步處理期間包含遠端資料分割的位置。

    注意

    如果未針對某個位置選取此選項,將不會同步處理該位置中包含的遠端分割區。

    來源伺服器
    顯示包含遠端分割區的 SQL Server Analysis Services 實例名稱。

    源數據夾
    在包含遠端數據分割的 SQL Server Analysis Services 實例上顯示資料夾名稱。 如果數據行包含值 「(Default)」,則 來源伺服器中顯示的實例預設位置 包含遠端分割區。

    目的地伺服器
    顯示 SQL Server Analysis Services 實例的名稱,其中遠端分割區儲存在源伺服器 中指定的位置,以及應該同步處理源 源資料夾

    按兩下省略號 (...) 按鈕以顯示 [連接管理員] 對話框,並指定 SQL Server Analysis Services 實例,其中應同步處理儲存在所選位置的遠端分割區。

    目的地資料夾
    在遠端分割區要同步處理的目的地 SQL Server Analysis Services 實例上顯示資料夾名稱。 如果數據行包含值 “(Default)”,則目的地實例的預設位置應該包含遠端分割區。

    按下省略號 (...) 按鈕,以顯示 [瀏覽遠端資料夾] 對話方塊的 [瀏覽] 對話框,並指定目的地實例上的資料夾,其中應同步處理儲存在所選位置的遠端分割區。

    大小
    顯示儲存在位置的遠端分割區估計大小。

    選取位置中的 數據分割 會顯示一個方格,描述儲存在源 SQL Server Analysis Services 實例上所指定位置的遠端數據分割 [源數據夾] 數據行中 [位置]中所選取數據列的 數據行。 方格包含下列資料列:

    Cube
    顯示包含數據分割的 Cube 名稱。

    量值群組
    在包含數據分割的 Cube 中顯示量值群組的名稱。

    分割區名稱
    顯示數據分割的名稱。

    大小(Mb)
    以 MB 為單位顯示分割區的大小。

  6. 指定是否應該包含使用者許可權資訊,以及是否應該使用壓縮。 根據預設,精靈會在將檔案複製到目的地伺服器之前壓縮所有數據和元數據。 此選項會導致檔案傳送速率較快。 一旦檔案到達目的地伺服器,檔案就會取消壓縮。

    複製所有
    選取即可在同步處理期間包含安全性定義和成員資格資訊。

    略過成員資格
    選取即可在同步處理期間包含安全性定義,但排除成員資格資訊。

    忽略所有
    選取以忽略源資料庫中目前的安全性定義和成員資格資訊。 如果在同步處理期間建立目的地資料庫,將不會複製任何安全性定義或成員資格資訊。 如果目的地資料庫已經存在且具有角色和成員資格,則會保留該安全性資訊。

  7. 選擇同步處理方法。 您可以立即同步處理,或產生儲存至檔案的腳本。 根據預設,檔案會以 .xmla 擴展名儲存,並放在您的 Documents 資料夾中。

  8. 按兩下 [完成] 同步處理。 確認 [完成精靈] 頁面上 選項之後,再次按兩下 [完成 完成]

後續步驟

如果您未同步處理角色或成員資格,請記得現在在目的地資料庫上指定使用者訪問許可權。

另請參閱

Synchronize 元素 (XMLA)
使用 XMLA 部署模型解決方案
使用部署精靈 部署模型解決方案