お問い合わせ
1 分で読むことができます

誤ってupdateしてしまったレコードをtime travelで復元する

執筆者 bird 更新日時 2021年12月27日

Topics: snowflake

目次

time travelとは

time travelとは、「定義された期間内の任意の時点で履歴データにアクセスできる機能」です。(詳しくはこちら

以下のような状況に出会ったこと、あると思います。

  • データベースを削除してしまった😱

  • 他のテーブルをtruncateしてしまった😱

  • update文にwhere句忘れてしまった😱

time travelはこれを解決します。

復元してみた

今回は「update文にwhere句忘れてしまった😱」際の対処法を確認したいと思います。

以下のテーブルを使用します。

 

select_time_travel-1

都道府県の番号と名前が格納されています。

それではPREFECTUREカラムの値をupdateします。

update_time_travel

47都道府県名がすべて「新宿」になってしまいました。(...なぜ新宿)

ではテーブルをupdate文発行前の状態に戻しましょう。

「履歴」ページで先ほどのクエリを探します。

history_update

ありました。

上図にあるクエリIDを使用し、update文発行前のデータをselect&insertします。

結果を確認してみましょう。

 

select_time_travel_again

しっかり復元されています!🤗

おわりに

いかがだったでしょうか。

履歴データにアクセスできるのは非常にありがたいですね。

そしてこの機能にあまりお世話にならないように、慎重に作業していきたい所存です。

最後まで読んでいただき、ありがとうございました。

Snowflakeを体験してみませんか?

INSIGHT LABではSnowflake紹介セミナーを定期開催しています。Snowflakeの製品紹介だけでなく、デモンストレーションを通してSnowflakeのシンプルなUI操作や処理パフォーマンスの高さを体感いただけます。

詳細はこちら

bird

執筆者 bird

5 分で読むことができます。
【禁断の比較?】SnowflakeとTreasure Dataを比べてみました
4 分で読むことができます。
Snowflakeの料金体系|クレジットと費用最適化のポイントをご紹介
2 分で読むことができます。
DWH(データウェアハウス)とは? 定義・メリットをご紹介
8 分で読むことができます。
Snowflakeのタスク失敗通知をAWSで実装してみた