UNDROP DATABASE

削除されたデータベースの最新バージョンを復元します。

Tip

SQL 以外にも、 Snowflake REST APIs、 Snowflake Python APIs、 Snowflake CLI などのインターフェイスを使うことができます。 代替インターフェイス をご参照ください。

こちらもご参照ください。

CREATE DATABASEALTER DATABASEDESCRIBE DATABASEDROP DATABASESHOW DATABASES

構文

UNDROP DATABASE <name> 
Copy

パラメーター

name

復元するデータベースの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

使用上の注意

  • 同じ名前のデータベースが既に存在する場合、エラーが返されます。

  • UNDROP は、Snowflake Time Travel の機能に依存しています。オブジェクトが データ保持期間 内で削除された場合にのみ、オブジェクトを復元できます。デフォルト値は24時間です。

  • 指定されたデータベースに属するハイブリッド・テーブルはアンドロップされません。

  • 同じ名前の複数のドロップされたデータベースがある場合は、 IDENTIFIER キーワード とシステム生成識別子(DATABASES ビュー)を使用して、復元するデータベースを指定できます。復元されたデータベースの名前は変わりません。 をご参照ください。

    注釈

    ノートブック、テーブル、スキーマ、およびデータベースに対して UNDROP コマンドを実行する際に、 IDENTIFIER()キーワードでシステム生成された識別子のみを使用できます。

基本的な例

ドロップされたデータベースの最新バージョンを復元します(この例は DROP DATABASE の例に基づいています)。

UNDROP DATABASE mytestdb2; 
Copy
+-------------------------------------------+ | status | |-------------------------------------------| | Database MYTESTDB2 successfully restored. | +-------------------------------------------+ 
SHOW DATABASES HISTORY; 
Copy
+---------------------------------+-----------+------------+------------+--------+--------+---------+---------+----------------+------------+ | 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 を復元する場合は、以下の手順に従います。

  1. 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; 
    Copy
    +-------------+---------------+-------------------------------+-------------------------------+---------+ | 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 | +-------------+---------------+-------------------------------+-------------------------------+---------+ 
  2. データベース ID で my_database をアンドロップします。最後に削除されたデータベースから2番目のデータベースを復元するには、前のステートメントの出力からデータベース ID 492 を使います。以下のステートメントを実行すると、データベースは元の名前(my_database)で復元されます。

    UNDROP DATABASE IDENTIFIER(492); 
    Copy

代替インターフェイス