UNDROP DATABASE

삭제된 데이터베이스의 최신 버전을 복원합니다.

참고 항목:

CREATE DATABASE , ALTER DATABASE , DESCRIBE DATABASE , DROP DATABASE , SHOW 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 라는 삭제된 데이터베이스가 여러 개 있고 마지막에서 두 번째로 삭제된 데이터베이스 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 를 삭제 취소합니다. 마지막에서 두 번째로 삭제된 데이터베이스를 복원하려면 이전 문의 출력에서 데이터베이스 ID 492 를 사용합니다. 다음 문을 실행하면 데이터베이스가 원래 이름인 my_database 로 복원됩니다.

    UNDROP DATABASE IDENTIFIER(492);
    
    Copy