Dataverseの仮想テーブルは、外部システムのデータを通常のDataverseテーブルへ複製せずに扱う仕組みです。以前は「仮想エンティティ」と呼ばれていました。利用できる操作や制限は、データプロバイダーと接続先によって確認します。
2026年10月3日更新。公式資料に基づいて本文を見直しました。掲載する旧画面は撮影当時の資料として区別しています。
仮想テーブルの仕組み
Dataverseにはテーブルや列などの定義を持ち、レコードの実データは外部システムに置きます。プロバイダーが外部データへの問い合わせなどを仲介するため、「何も定義が存在しないテーブル」という意味ではありません。
外部データを必要なときに参照できる一方、応答時間や可用性は外部サービスにも依存します。データウェアハウスを参照する場合などは、表示するデータの鮮度が上流からの更新間隔に左右される点も確認します。
読み取り専用とは限らない
「仮想テーブルではCRUDのRしか使えない」という旧記事の説明を訂正します。読み取り・作成・更新・削除に対応するプロバイダーもあり、カスタムプロバイダーではプラグインで操作を実装できます。ただし、すべての接続先で全操作が使えるわけではありません。
採用する方式について、プロバイダーの対応操作、接続先API、認証、権限、列の型を確認します。具体的な仕組みは 仮想テーブルの公式入門 を参照してください。
通常のテーブルと同じ機能を前提にしない
- 所有権とアクセス制御:仮想テーブルは組織所有です。ユーザー所有テーブルと同じレコード単位の保護を当然に利用できるとは考えず、外部システム側のアクセス制御も設計します。
- 機能の制限:公式入門では列レベルのセキュリティ、監査、オフラインなどの制約が説明されています。検索や業務プロセスなども、必要な機能ごとに最新の対応状況を確認します。
- 変換の制限:通常のテーブルと仮想テーブルを後から相互変換する前提にはできません。
- 性能と可用性:検索条件、ページング、大量データ、接続先停止時の動作を検証します。
データ複製とどう使い分けるか
| 観点 | 仮想テーブル | 通常のDataverseテーブルへ複製 |
|---|---|---|
| データの所在 | 外部システムを参照・操作する。 | Dataverse側にもレコードを保持する。 |
| 更新の見え方 | 問い合わせ時の外部データに依存する。上流の更新遅延は残る。 | 同期方式・実行間隔による遅延が発生する。 |
| 設計で重視する点 | プロバイダーの機能、外部接続、応答時間、認証と権限。 | 差分同期、重複、競合、容量、失敗時の再実行。 |
「少量なら仮想テーブル」「書き込みが必要なら必ずバッチ」という決め方では、必要な条件を見落とします。両方式を、業務上必要な操作と運用条件に照らして比較します。
Microsoftのデータウェアハウス連携例では、参照情報を仮想テーブルで読み、業務処理は通常のDataverseレコードで管理しています。これは読み取り専用に設計した例であり、すべての仮想テーブルの操作範囲を示すものではありません。
作成前に小さく検証する
- 外部データソースと対応するプロバイダーを選ぶ。
- 主キー、列の型、関連、外部名などのマッピング要件を確認する。
- 接続するIDと、利用者ごとのアクセス制御を確認する。
- 必要な読み書きと、負荷の高い検索を小規模に試す。
- 障害時の動作と、必要なDataverse機能との互換性を確認して方式を決める。
作成方法はプロバイダーによって異なります。仮想テーブルの作成・編集に関する公式資料を確認してください。画面で設定できる場合でも、外部側の準備や認証・検証の工数は必要です。
2022年当時の画面資料
以下は初回公開時(2022年)のスクリーンショットです。旧画面で仮想エンティティとデータソースを設定した例を保存しています。現在のすべてのプロバイダーに共通する作成画面ではありません。現在の画面や提供条件と一致することを保証するものではありません。




コメント