UNDROP DATABASE¶
Restaure la version la plus récente d’une base de données détruite.
- Voir aussi :
CREATE DATABASE , ALTER DATABASE , DESCRIBE DATABASE , DROP DATABASE , SHOW DATABASES
Syntaxe¶
UNDROP DATABASE <name>
Paramètres¶
name
Spécifie l’identificateur de la base de données à restaurer. Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.
Notes sur l’utilisation¶
Si une base de données portant le même nom existe déjà, une erreur est renvoyée.
UNDROP s’appuie sur la fonction Time Travel de Snowflake. Un objet ne peut être restauré que si l’objet a été supprimé dans la Période de conservation des données. La valeur par défaut est 24 heures.
La suppression des tables hybrides appartenant à la base de données spécifiée n’est pas annulée.
Si vous avez plusieurs bases de données supprimées portant le même nom, vous pouvez utiliser le IDENTIFIER mot-clé avec l’identificateur généré par le système (à partir de Vue DATABASES) pour spécifier quelle base de données restaurer. Le nom de la base de données restaurée reste le même. Voir des exemples.
Note
Vous ne pouvez utiliser l’identifiant généré par le système qu’avec le mot-clé IDENTIFIER() lors de l’exécution de la commande UNDROP pour les tables, les schémas et les bases de données.
Exemples¶
Exemple de base¶
Restaurer la version la plus récente d’une base de données détruite (cet exemple s’appuie sur les exemples 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] |
+---------------------------------+-----------+------------+------------+--------+--------+---------+---------+----------------+------------+
UNDROP de base de données utilisant l’ID de base de données :¶
Restaurer une base de données supprimée par ID en utilisant IDENTIFIER(). Vous pouvez trouver l’ID de la base de données spécifique à restaurer à l’aide de la colonne database_id
dans Vue DATABASES. Par exemple, si vous avez plusieurs bases de données supprimées nommées my_database
et que vous souhaitez restaurer l’avant-dernière base de données supprimée my_database
, procédez comme suit :
Trouver l’ID de la base de données supprimée dans la vue DATABASES Account Usage :
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 | +-------------+---------------+-------------------------------+-------------------------------+---------+
Annuler la suppression de
my_database
par ID de base de données. Pour restaurer l’avant-dernière base de données supprimée, utilisez l’ID492
de base de données à partir de la sortie de l’instruction précédente. Après avoir exécuté l’instruction suivante, la base de données est restaurée avec son nom d’origine,my_database
:UNDROP DATABASE IDENTIFIER(492);