備份與還原具有 Power BI Premium 的語意模型
如果您有 Power BI Premium 或 Premium Per User (PPU) 授權,您可以對 Power BI 語意模型使用備份與還原功能,這與 Azure Analysis Services 表格式模式中提供的備份與還原作業相似。
您可以使用 SQL Server Management Studio (SSMS)、適用於 PowerShell 的 Analysis Services Cmdlet 及其他工具,以在 Power BI 中使用 XMLA 端點執行備份與還原作業。 下列各節說明 Power BI 語意模型的備份與還原概念、需求和考量。
備份與還原 Power BI 語意模型的功能可提供從 Azure Analysis Services 工作負載至 Power BI Premium 的移轉路徑。 備份與還原會基於多種原因啟用語意模型備份,包含損毀或遺失、資料保留需求和租用戶移動等。
使用語意模型備份與還原
備份與還原功能會使用與 Power BI 和 Azure 之間的現有連線,例如能夠在租用戶和工作區層級註冊 Azure Data Lake Gen2 (ADLS Gen2) 儲存體帳戶以推動資料流成儲存體和作業。 由於備份與還原使用相同連線,因此不需要其他儲存體帳戶。
您可以執行離線備份,以從 ADLS Gen2 儲存體帳戶下載檔案。 若要下載,請使用檔案系統、Azure 儲存體總管、.NET 工具和PowerShell Cmdlet (例如 Get-AzDataLakeGen2ItemContent Cmdlet)。 下圖顯示工作區,其中包含語意模型及 Azure 儲存體總管中的對應備份檔案。
如需了解如何設定 Power BI 以使用 ADLS Gen2 儲存體帳戶,請參閱設定資料流程儲存體以使用 Azure Data Lake Gen 2。
多地理位置考量
備份與還原依賴於 Power BI 中的 Azure 連線基礎結構,以在租用戶或工作區層級註冊 Azure Data Lake Gen2 (ADLS Gen2) 儲存體帳戶。 您應該在 Power BI Premium 容量區域中佈建儲存體帳戶,以避免跨區域界限的資料傳輸成本。 請先檢查資料落地需求,然後再使用儲存體帳戶設定多地理位置 Premium 容量的工作區。
誰可以執行備份與還原
若 ADLS Gen2 儲存體帳戶與工作區相關聯,則具有寫入或系統管理員權限的工作區系統管理員可以進行備份。 具備這些權限的使用者可能是系統管理員、成員或參與者,也可能不屬於工作區層級角色一部分但具備語意模型的直接寫入權限。
若要還原現有語意模型,則對資料集具備寫入或系統管理員權限的使用者可以進行還原作業。 若要還原新的語意模型,使用者必須是工作區的系統管理員。
若要使用 Azure 儲存體總管 (SSMS 中的 [瀏覽...] 按鈕) 瀏覽備份/還原檔案系統,使用者必須是系統管理員,或是工作區的成員或參與者。
Power BI 會根據工作區名稱將工作區與其備份目錄相關聯。 若您具備儲存體帳戶層級的擁有者權限,則可以下載備份檔案,或將其從原始位置複製到不同工作區的備份目錄,如果您也是目標工作區中的工作區管理員,也可以將其還原到該位置。
儲存體帳戶擁有者可以不限制存取備份檔案,因此請確定已謹慎設定和維護儲存體帳戶權限。
如何執行備份與還原
備份與還原需要使用 XMLA 型工具,例如 SQL Server Management Studio (SSMS)。 Power BI 使用者介面沒有備份或還原功能或選項。 由有 XMLA 相依性,因此備份與還原目前需要您的語意模型位於 Premium 或 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 已使用備份與還原,而您稍後會中斷連線,稍後再次將其重新設定為使用備份與還原。 您必須先重新命名或移動先前備份資料夾,否則嘗試將導致發生錯誤和失敗。
還原僅支援將資料庫還原為大型模型 (Premium) 資料庫。
只允許還原增強的格式模型 (V3 模型)。
當儲存器帳戶上的帳戶上的帳戶金鑰存取已停用時,您可能會收到此錯誤:此儲存體帳戶不允許密鑰型驗證。
用於
restore
命令的屬性ignoreIncompatibilities
可解決 Azure Analysis Services (AAS) 和 Power BI Premium 之間的列層級安全性 (RLS) 不相容。 Power BI Premium 僅支援角色的讀取權限,但 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 } }