UNDROP DATABASE

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

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

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