UNDROP DATABASE¶
삭제된 데이터베이스의 최신 버전을 복원합니다.
구문¶
UNDROP DATABASE <name>
매개 변수¶
name복원할 데이터베이스의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
사용법 노트¶
같은 이름의 데이터베이스가 이미 있는 경우 오류가 반환됩니다.
UNDROP은 Snowflake Time Travel 기능에 의존합니다. 오브젝트가 데이터 보존 기간 내에서 삭제된 경우에만 오브젝트를 복원할 수 있습니다. 기본값은 24시간입니다.
지정된 데이터베이스에 속한 하이브리드 테이블은 삭제 취소되지 않습니다.
동일한 이름을 가진 여러 데이터베이스가 삭제된 경우 IDENTIFIER 키워드 와 시스템에서 생성된 식별자(DATABASES 뷰 에서 가져옴)를 사용하여 복원할 데이터베이스를 지정할 수 있습니다. 복원된 데이터베이스의 이름은 동일하게 유지됩니다. 예제 를 참조하십시오.
참고
You can only use the system-generated identifier with the IDENTIFIER() keyword when executing the UNDROP command for notebooks, tables, block storage snapshots, schemas, and databases.
예¶
기본 예제¶
삭제된 데이터베이스의 최신 버전을 복원합니다(이 예는 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 라는 삭제된 데이터베이스가 여러 개 있고 마지막에서 두 번째로 삭제된 데이터베이스 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를 삭제 취소합니다. 마지막에서 두 번째로 삭제된 데이터베이스를 복원하려면 이전 문의 출력에서 데이터베이스 ID492를 사용합니다. 다음 문을 실행하면 데이터베이스가 원래 이름인my_database로 복원됩니다.UNDROP DATABASE IDENTIFIER(492);