Power BI Premium でのセマンティック モデルのバックアップと復元

Power BI Premium ライセンスまたは Premium Per User (PPU) ライセンスを持っている場合は、Azure Analysis Services の表形式モデルで使用できるバックアップ操作や復元操作と同様に、Power BI セマンティック モデルでバックアップと復元の機能を使用できます。

SQL Server Management Studio (SSMS)PowerShell 用 Analysis Services コマンドレット、その他のツールを使用し、XMLA エンドポイントを使用して Power BI でバックアップと復元の操作を実行できます。 以下のセクションでは、Power BI セマンティック モデルのバックアップと復元の概念、要件、考慮事項について説明します。

SSMS ウィンドウのスクリーンショット。[データベース] メニューから [バックアップ] が選択されています。[データベースのバックアップ] ダイアログが開き、[OK] が選択されています。

Power BI セマンティック モデルのバックアップと復元の機能により、Azure Analysis Services のワークロードから Power BI Premium への移行パスが提供されます。 バックアップと復元では、破損や損失、データ保持要件、テナントの移動など、複数の理由でセマンティック モデルをバックアップすることもできます。

セマンティック モデルのバックアップと復元の使用

バックアップと復元の機能では、Power BI と Azure 間の既存の接続を使用します。たとえば、テナントまたはワークスペースのレベルで Azure Data Lake Gen2 (ADLS Gen2) ストレージ アカウントを登録することで、データフローのストレージと操作を容易にすることができます。 バックアップと復元によって同じ接続が使用されるため、他のストレージ アカウントは必要ありません。

ADLS Gen2 ストレージ アカウントからファイルをダウンロードすることで、オフライン バックアップを実行できます。 ダウンロードするには、ファイル システム、Azure Storage Explorer、.NET ツール、および PowerShell コマンドレット (Get-AzDataLakeGen2ItemContent コマンドレットなど) を使用します。 次の図は、Azure Storage Explorer での 3 つのセマンティック モデルとそれに対応するバックアップ ファイルが含まれるワークスペースを示したものです。

バックアップが選択された Azure Storage Explorer のスクリーンショット。Power BI ウィンドウの一部に設定ダイアログが表示されます。

ADLS Gen2 ストレージ アカウントを使用するように Power BI を構成する方法については、「Azure Data Lake Gen 2 を使用するようにデータフロー ストレージを構成する」を参照してください。

Multi-Geo に関する考慮事項

バックアップと復元は、Power BI の Azure 接続インフラストラクチャに依存し、テナントまたはワークスペースのレベルで Azure Data Lake Gen2 (ADLS Gen2) ストレージ アカウントを登録します。 リージョンの境界を越えるデータ転送コストを防止するために、Power BI Premium 容量のリージョンにストレージ アカウントをプロビジョニングする必要があります。 ストレージ アカウントで Multi-Geo Premium 容量にワークスペースを構成する前に、データ所在地の要件を確認してください。

バックアップと復元を実行できるユーザー

ワークスペースに ADLS Gen2 ストレージ アカウントが関連付けられている場合、書き込みまたは管理者のアクセス許可を持つワークスペース管理者は "バックアップ" を実行できます。 このようなアクセス許可を持つユーザーは管理者、メンバー、または共同作成者である場合もあれば、ワークスペース レベルのロールに属していないものの、セマンティック モデルへの直接書き込みアクセス許可を持っている場合もあります。

既存のセマンティック モデルを "復元" する場合、データセットに対する書き込みまたは管理者のアクセス許可を持つユーザーは "復元" 操作を実行することができます。 新しいセマンティック モデルを "復元" する場合、ユーザーはワークスペースの管理者である必要があります。

Azure Storage Explorer (SSMS の [参照...] ボタン) を使用して "バックアップまたは復元対象のファイル システムを参照する" 場合、ユーザーはワークスペースの管理者、メンバー、または共同作成者である必要があります。

Power BI により、ワークスペース名に基づいて、ワークスペースとバックアップ ディレクトリが関連付けられます。 ストレージ アカウント レベルでの所有者アクセス許可があれば、バックアップ ファイルを元の場所から異なるワークスペースのバックアップ ディレクトリにダウンロードしたり、コピーしたりでき、ターゲット ワークスペースのワークスペース管理者でもある場合は、そこで復元することもできます。

ストレージ アカウントの所有者は、バックアップ ファイルに無制限でアクセスできるため、ストレージ アカウントのアクセス許可は慎重に設定して保守するようにしてください。

バックアップと復元を実行する方法

バックアップと復元を行うには、SQL Server Management Studio (SSMS) などの XMLA ベースのツールを使用する必要があります。 Power BI のユーザー インターフェイスには、バックアップや復元の機能やオプションはありません。 XMLA に依存しているため、現時点では、バックアップと復元を行うには Premium または PPU 容量にセマンティック モデルが存在している必要があります。

バックアップと復元用のストレージ アカウント設定は、テナントまたはワークスペース レベルのどちらでも適用できます。

バックアップと復元の場合、Power BI によって、ストレージ アカウントに power-bi-backup という名前の新しいコンテナーが作成され、さらにその power-bi-backup コンテナー内にご利用のワークスペースと同じ名前を使用してバックアップ フォルダーが作成されます。 テナント レベルでストレージ アカウントを構成する場合は、power-bi-backup コンテナーのみが、Power BI によって作成されます。 ワークスペースにストレージ アカウントをアタッチした時点で、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 モデル) のみ復元できます。

  • Azure Analysis Services (AAS) と Power BI Premium の間の行レベル セキュリティ (RLS) の非互換性に対応する restore コマンド向けに新しいプロパティ ignoreIncompatibilities があります。 Power BI Premium はロールの読み取りアクセス許可のみをサポートしますが、AAS はすべてのアクセス許可をサポートします。 一部のロールに "読み取り" アクセス許可がないバックアップ ファイルを復元する場合は、restore コマンドで ignoreIncompatibilities プロパティを指定する必要があります。 指定しないと、復元が失敗する可能性があります。 指定すると、"読み取り" アクセス許可のないロールが削除されます。 現時点では ignoreIncompatibilities プロパティをサポートする設定は SSMS にありませんが、表形式モデル スクリプト言語 (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 コミュニティでご質問ください