UNDROP DATABASE¶
削除されたデータベースの最新バージョンを復元します。
- こちらもご参照ください。
CREATE DATABASE、 ALTER DATABASE、 DESCRIBE DATABASE、 DROP DATABASE、 SHOW DATABASES
構文¶
UNDROP DATABASE <name>
パラメーター¶
name
復元するデータベースの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
使用上の注意¶
同じ名前のデータベースが既に存在する場合、エラーが返されます。
UNDROP は、Snowflake Time Travel の機能に依存しています。オブジェクトが データ保持期間 内で削除された場合にのみ、オブジェクトを復元できます。デフォルト値は24時間です。
指定されたデータベースに属するハイブリッド・テーブルはアンドロップされません。
同じ名前の複数のドロップされたデータベースがある場合は、 IDENTIFIER キーワード とシステム生成識別子(DATABASES ビュー)を使用して、復元するデータベースを指定できます。復元されたデータベースの名前は変わりません。 例 をご参照ください。
注釈
テーブル、スキーマ、およびデータベースに対して UNDROP コマンドを実行するときのみ、 IDENTIFIER () キーワードでシステム生成識別子を使用できます。
例¶
基本的な例¶
ドロップされたデータベースの最新バージョンを復元します(この例は DROP DATABASE の例に基づいています)。
UNDROP DATABASE mytestdb2;
+-------------------------------------------+
| status |
|-------------------------------------------|
| Database MYTESTDB2 successfully restored. |
+-------------------------------------------+
SHOW DATABASES HISTORY;
+---------------------------------+-----------+------------+------------+--------+--------+---------+---------+----------------+------------+
| created_on | name | is_default | is_current | origin | owner | comment | options | retention_time | dropped_on |
|---------------------------------+-----------+------------+------------+--------+--------+---------+---------+----------------+------------|
| Tue, 17 Mar 2015 16:57:04 -0700 | MYTESTDB | N | Y | | PUBLIC | | | 1 | [NULL] |
| Tue, 17 Mar 2015 17:06:32 -0700 | MYTESTDB2 | N | N | | PUBLIC | | | 1 | [NULL] |
| Wed, 25 Feb 2015 17:30:04 -0800 | SALES1 | N | N | | PUBLIC | | | 1 | [NULL] |
| Fri, 13 Feb 2015 19:21:49 -0800 | DEMO1 | N | N | | PUBLIC | | | 1 | [NULL] |
+---------------------------------+-----------+------------+------------+--------+--------+---------+---------+----------------+------------+
ID コマンドを使用して UNDROP データベースを作成します。¶
IDENTIFIER() を使用して、 ID によってドロップされたデータベースを復元します。 DATABASES ビュー の database_id
列を使用して、復元する特定のデータベースのデータベース ID を見つけることができます。たとえば、 my_database
という名前の複数のドロップされたデータベースがあり、最後から2番目にドロップされたデータベース my_database
を復元する場合は、以下の手順に従います。
Account Usage DATABASES ビューで、ドロップされたデータベースのデータベース ID を検索します。
SELECT database_id, database_name, created, deleted, comment FROM SNOWFLAKE.ACCOUNT_USAGE.DATABASES WHERE database_name = 'MY_DATABASE' AND deleted IS NOT NULL ORDER BY deleted;
+-------------+---------------+-------------------------------+-------------------------------+---------+ | DATABASE_ID | DATABASE_NAME | CREATED | DELETED | COMMENT | |-------------+---------------+-------------------------------+-------------------------------+---------| | 494 | MY_DATABASE | 2024-07-01 17:51:33.380 -0700 | 2024-07-01 17:51:46.228 -0700 | NULL | | 492 | MY_DATABASE | 2024-07-01 17:51:52.560 -0700 | 2024-07-01 17:52:39.881 -0700 | NULL | | 493 | MY_DATABASE | 2024-07-01 17:52:39.849 -0700 | 2024-07-01 17:52:44.562 -0700 | NULL | +-------------+---------------+-------------------------------+-------------------------------+---------+
データベース ID で
my_database
をアンドロップします。最後に削除されたデータベースから2番目のデータベースを復元するには、前のステートメントの出力からデータベース ID492
を使います。以下のステートメントを実行すると、データベースは元の名前(my_database
)で復元されます。UNDROP DATABASE IDENTIFIER(492);