💭

Snowflake タイムトラベルでテーブルとDBをリストアさせる

2022/11/09に公開

前回記事ではスキーマを復元しました。
今回は前回記事で書ききれなかったテーブルとDBのリストアを行ってみます。

環境準備

外部ステージ作成
CREATE OR REPLACE STAGE MANAGE_DB.external_stages.time_travel_stage
    URL = 's3://data-snowflake-fundamentals/time-travel/'
    file_format = MANAGE_DB.file_formats.csv_file;
テーブル作成
CREATE OR REPLACE TABLE OUR_FIRST_DB.public.customers (
  id int,
  first_name string,
  last_name string,
  email string,
  gender string,
  Job string,
  Phone string);
データロード
COPY INTO OUR_FIRST_DB.public.customers
from @MANAGE_DB.external_stages.time_travel_stage
files = ('customers.csv');
SELECT * FROM OUR_FIRST_DB.public.customers;

リストア~テーブル編~

テーブルの削除

DROP TABLE OUR_FIRST_DB.public.customers;

テーブルが削除されたことを確認する

SELECT * FROM OUR_FIRST_DB.public.customers;

SQL compilation error: Object 'OUR_FIRST_DB.PUBLIC.CUSTOMERS' does not exist or not authorized.

テーブルの復元

UNDROP TABLE OUR_FIRST_DB.public.customers;

テーブルが復元されたことを確認する

SELECT * FROM OUR_FIRST_DB.public.customers;

リストア~DB編~

DBの削除

DROP DATABASE OUR_FIRST_DB;

DBが削除されたことを確認する

SELECT * FROM OUR_FIRST_DB.public.customers;

SQL compilation error: Database 'OUR_FIRST_DB' does not exist or not authorized.

DBの復元

UNDROP DATABASE OUR_FIRST_DB;

DBが復元されたことを確認する

SELECT * FROM OUR_FIRST_DB.public.customers;

Discussion