削除されたデータセットを復元する

このドキュメントでは、BigQuery で削除されたデータセットを復元する(または削除を取り消す)方法について説明します。

データセットを復元して、削除前の状態に復元できます。復元できるのは、タイムトラベル期間内のデータセットのみです。このリカバリには、データセットに含まれていたすべてのオブジェクト、データセットのプロパティ、セキュリティ設定が含まれます。復元されないリソースについては、制限事項をご覧ください。

削除されたテーブルまたはスナップショットの復元については、次のリソースをご覧ください。

制限事項

データセットの復元に関連する制限事項は次のとおりです。

  • 復元されたデータセットが参照しているセキュリティ プリンシパルが存在していない可能性があります。
  • この操作を実行しても、リンクされたデータセットで削除したデータセットへの参照は復元されません。サブスクライバーは、リンクを手動で復元するために再度サブスクライブする必要があります。
  • この操作を行うと、ビジネスタグは復元されません。
  • マテリアライズド ビューを手動で更新し、承認済みビュー承認済みデータセット承認されたルーティンを再承認する必要があります。
  • BigQuery CDC 対応テーブルは、削除されていないデータセットの一部として復元された場合、バックグラウンド適用ジョブを再開しません。

    承認済みリソース(ビュー、データセット、ルーティン)を削除すると、承認の削除に最大 24 時間かかります。承認済みリソースを含むデータセットを削除してから 24 時間以内に復元する場合、再承認が不要になる可能性があります。リソースを復元した後は、必ず承認を確認するようにしてください。

始める前に

削除されたデータセットを復元するために必要な Identity and Access Management(IAM)権限があることを確認します。

必要なロール

削除されたデータセットを復元するために必要な権限を取得するには、プロジェクトに対する BigQuery ユーザー roles/bigquery.user)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

この事前定義ロールには、削除されたデータセットを復元するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

削除されたデータセットを復元するには、次の権限が必要です。

  • プロジェクトに対する bigquery.datasets.create
  • データセットに対する bigquery.datasets.get

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

データセットを復元する

データセットを復元するには、次のいずれかの方法を選択します。

SQL

UNDROP SCHEMA データ定義言語(DDL)ステートメントを使用します。

  1. Google Cloud コンソールで、[BigQuery] ページに移動します。

    BigQuery に移動

  2. クエリエディタで次のステートメントを入力します。

    UNDROP SCHEMA DATASET_ID;

    DATASET_ID は、削除を取り消すデータセットに置き換えます。

  3. 削除を取り消すデータセットのロケーションを指定します

  4. [ 実行] をクリックします。

クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。

API

datasets.undelete メソッドを呼び出します。

データセットを復元すると、次のエラーが発生することがあります。

  • ALREADY_EXISTS: 復元しようとしたリージョンに、同じ名前のデータセットがすでに存在します。削除取り消し機能を使用して、データセットの上書きや統合はできません。
  • NOT_FOUND: 復元しようとしているデータセットがタイムトラベル期間を過ぎているか、存在しなかったか、データセットの正しい場所を指定していません。
  • ACCESS_DENIED: このデータセットの削除を取り消すために必要な権限がありません。

    次のステップ

  • 特定の時点のデータのクエリについては、履歴データにアクセスするをご覧ください。

  • データの保持については、タイムトラベルとフェイルセーフによるデータの保持をご覧ください。

  • データセットを削除する方法については、データセットを管理するをご覧ください。