使用 Power BI 進階版 備份和還原語意模型

如果您有 Power BI 進階版 或 進階版 Per User (PPU) 授權,您可以使用備份與還原功能搭配 Power BI 語意模型,類似於 Azure Analysis Services 表格式模型中可用的備份和還原作業。

您可以使用 SQL Server Management Studio (SSMS)適用於 PowerShell 的 Analysis Services Cmdlet,以及其他工具來使用 XMLA 端點在 Power BI 中執行備份和還原作業。 下列各節說明 Power BI 語意模型、需求和考慮的備份和還原概念。

Screenshot of the SSMS window, back up is selected from the databases menu. The backup database dialog is open, OK is selected.

備份和還原 Power BI 語意模型的能力提供從 Azure Analysis Services 工作負載移轉至 Power BI 進階版 的路徑。 它也基於多種原因啟用語意模型備份,包括損毀或遺失、數據保留需求,以及租用戶移動等。

使用語意模型備份和還原

備份 與還原 功能會使用Power BI與 Azure 之間的現有連線,例如能夠在租使用者或工作區層級註冊 Azure Data Lake Gen2 (ADLS Gen2) 記憶體帳戶,以利於數據流記憶體和作業。 由於備份與還原使用相同的連線,因此不需要其他記憶體帳戶。

您可以執行離線備份,從 ADLS Gen2 記憶體帳戶下載檔案。 若要下載,請使用文件系統、Azure 儲存體 Explorer、.NET 工具和 PowerShell Cmdlet,例如 Get-AzDataLakeGen2ItemContent Cmdlet。 下圖顯示一個工作區,其中包含三個語意模型及其 Azure 儲存體 總管中的對應備份檔。

Screenshot of Azure Storage Explorer with a backup selected. A portion of the Power BI window shows the settings dialog.

若要瞭解如何設定 Power BI 以使用 ADLS Gen2 儲存器帳戶,請參閱 設定數據流記憶體以使用 Azure Data Lake Gen 2

多地理位置考慮

備份和還原依賴 Power BI 中的 Azure 連線基礎結構,在租使用者或工作區層級註冊 Azure Data Lake Gen2 (ADLS Gen2) 記憶體帳戶。 您應該在Power BI 進階版容量區域中布建記憶體帳戶,以避免跨區域界限傳輸成本。 使用記憶體帳戶在多地理位置 進階版 容量上設定工作區之前,請先檢查您的數據落地需求。

神秘 可以執行備份和還原

使用與工作區相關聯的ADLS Gen2儲存體帳戶,具有寫入或系統管理員許可權的工作區系統管理員可以進行 備份。 具有這些許可權的使用者可能是系統管理員、成員或參與者,或可能不是工作區層級角色的一部分,但具有語意模型的直接寫入許可權。

若要 還原 現有的語意模型,擁有數據集寫入或系統管理員許可權的使用者可以執行 還原 作業。 若要 還原 新的語意模型,用戶必須是工作區的管理員。

若要使用 Azure 儲存體 Explorer 瀏覽備份/還原文件系統SSMS 中的 [流覽...] 按鈕),用戶必須是系統管理員或工作區的成員或參與者。

Power BI 會根據工作區名稱,將工作區與其備份目錄產生關聯。 使用記憶體帳戶層級的擁有者許可權,您可以下載備份檔,或將其從原始位置複製到不同工作區的備份目錄,如果您也是目標工作區中的工作區管理員,請將其還原到該處。

儲存體 帳戶擁有者無法限制存取備份檔,因此請確定已謹慎設定和維護記憶體帳戶許可權。

如何執行備份和還原

備份和還原需要使用以 XMLA 為基礎的工具,例如 SQL Server Management Studio (SSMS)。 Power BI 使用者介面中沒有備份或還原功能或選項。 由於 XMLA 相依性,備份和還原目前需要您的語意模型位於 進階版 或 PPU 容量上。

備份和還原的記憶體帳戶設定可以在租使用者或工作區層級套用。

針對 備份與還原,Power BI 會在記憶體帳戶中建立名為 power-bi-backup 的新容器,並使用 power-bi-backup 容器中 工作區的名稱建立備份 資料夾。 如果您在租用戶層級設定記憶體帳戶,Power BI 只會建立 power-bi-backup 容器。 Power BI 會在您將記憶體帳戶附加至工作區時建立備份資料夾。 如果您在工作區層級設定記憶體帳戶,Power BI 會建立 power-bi-backup 容器,並建立備份資料夾。

在備份和還原期間,會套用下列動作:

  • 備份檔會放在power-bi-backup容器的 備份 資料夾中
  • 若要還原,您必須先將備份檔 (.abf 檔案) 放入資料夾,才能進行還原

如果您重新命名工作區,power-bi-backup 容器中的 備份 資料夾會自動重新命名為相符。 不過,如果您有與重新命名工作區同名的現有資料夾,則備份資料夾的自動重新命名將會失敗。

考量與限制

搭配 Power BI 使用 備份與還原 功能時,請記住下列事項。

  • Power BI 必須能夠直接存取您的 ADLS Gen2。 您的 ADLS Gen2 無法位於 VNET 中,且無法開啟防火牆。

  • 如果您的 ADLS Gen2 已經在使用 備份和還原,而且您中斷連線,稍後再重新設定它以再次使用 備份和還原 。 您必須先重新命名或移動上一個備份資料夾,否則嘗試將會導致錯誤和失敗。

  • 還原僅支持將資料庫還原為大型模型(進階版) 資料庫。

  • 允許還原增強格式模型(V3 模型 )。

  • 命令有新的 屬性ignoreIncompatibilitiesrestore可解決 Azure Analysis Services (AAS) 與 Power BI 進階版 之間的數據列層級安全性 (RLS) 不相容。 Power BI 進階版 僅支援角色的讀取許可權,但 AAS 支援所有許可權。 如果您嘗試還原某些角色沒有讀取許可權的備份檔,您必須在 命令中restore指定 ignoreIncompatibilities 屬性。 如果未指定,還原可能會失敗。 指定時,會卸除沒有 讀取 許可權的角色。 目前,SSMS 中沒有支援 ignoreIncompatibilities 屬性的設定,不過,您可以使用表格式模型腳本語言 (TMSL) 在命令中 restore 指定它。 例如:

      {
        "restore": {
          "database": "DB",
          "file": "/Backup.abf",
          "allowOverwrite": true,
          "security": "copyAll",
          "ignoreIncompatibilities": true
        }
      }
    
  • 您可以還原損毀的資料庫。 只要您定期備份資料庫,還原資料庫是復原資料庫的最強固方式。 在 XMLA 查詢中使用下列 restore 命令來還原資料庫:

      <Restore xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
        <File>DatabaseBackup.abf</File>
        <DatabaseName>DatabaseName</DatabaseName>
        <AllowOverwrite>true</AllowOverwrite>
      </Restore>
    
  • 還原資料庫時,您可能會收到下列錯誤:

    我們現在無法還原語意模型備份,因為沒有足夠的記憶體來完成這項作業。請使用 /forceRestore 選項來還原已卸除和離線現有語意模型的語意模型。

    在這些情況下,使用 restore 命令新增 forceRestore 屬性以觸發強制還原作業。 例如,使用TMSL時:

        {
          "restore": {
          "database": "DB",
          "file": "/Backup.abf",
          "allowOverwrite": true,
          "security": "copyAll",
          "forceRestore": true
          }
        }
    

更多問題嗎? 詢問 Power BI 社群