UNDROP DATABASE

UNDROP DATABASE

드롭된 데이터베이스의 가장 최근 버전을 복원하는 명령이에요.

출처: 문서

본문

드롭된 데이터베이스의 가장 최근 버전을 복원해요.

구문

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 database

IDENTIFIER()를 사용해 ID로 드롭된 데이터베이스를 복원해요. 복원할 특정 데이터베이스의 데이터베이스 ID는 DATABASES 뷰의 database_id 컬럼에서 찾을 수 있어요. 예를 들어 my_database라는 드롭된 데이터베이스가 여러 개 있고, 두 번째로 마지막에 드롭된 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를 언드롭해요. 두 번째로 마지막에 삭제된 데이터베이스를 복원하려면 이전 문 출력의 데이터베이스 ID 492를 사용해요. 다음 문을 실행하면 데이터베이스가 원래 이름 my_database로 복원돼요:

UNDROP DATABASE IDENTIFIER(492);

더 알아보기 (Learn more)