CREATE BACKUP SET¶
Crée un ensemble de sauvegardes défini pour une table, un schéma ou une base de données. Une fois que l’ensemble de sauvegardes existe, vous pouvez ajouter une nouvelle sauvegarde (sauvegarde) à l’ensemble de sauvegardes à tout moment en exécutant une commande ALTER BACKUP SET. Snowflake ajoute également automatiquement des sauvegardes à l’ensemble de sauvegardes si vous avez défini une planification dans une politique de sauvegarde et si vous avez associé cette politique de sauvegarde à l’ensemble de sauvegardes.
Chaque ensemble de sauvegardes représente un ensemble de sauvegardes pour une table spécifique, ou les objets d’un schéma spécifique, ou les objets d’une base de données spécifique. De cette façon, vous pouvez rendre vos sauvegardes très granulaires ou très complètes. Par ailleurs, les sauvegardes pour chaque table, schéma ou base de données peuvent disposer de leurs propres planifications indépendantes.
Pour connaître les types d’objets inclus dans les sauvegardes de schéma et les sauvegardes de base de données, consultez Objets de sauvegarde.
- Voir aussi :
ALTER BACKUP SET, DROP BACKUP SET, SHOW BACKUP SETS, CREATE BACKUP POLICY
Syntaxe¶
CREATE [ OR REPLACE ] BACKUP SET [ IF NOT EXISTS ] <name>
FOR [ DYNAMIC ] TABLE <table_name>
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ WITH BACKUP POLICY <policy_name> ]
[ COMMENT = <string> ]
CREATE [ OR REPLACE ] BACKUP SET [ IF NOT EXISTS ] <name>
FOR SCHEMA <schema_name>
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ WITH BACKUP POLICY <policy_name> ]
[ COMMENT = <string> ]
CREATE [ OR REPLACE ] BACKUP SET [ IF NOT EXISTS ] <name>
FOR DATABASE <database_name>
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ WITH BACKUP POLICY <policy_name> ]
[ COMMENT = <string> ]
Paramètres requis¶
nameIdentificateur de l’ensemble de sauvegardes ; doit être unique pour votre compte.
De plus, l’identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (par exemple,
"My object"). Les identificateurs entre guillemets doubles sont également sensibles à la casse.Pour plus d’informations, voir Exigences relatives à l’identificateur.
FOR [ DYNAMIC ] TABLE table_nameSpécifie le nom de la table ou de la table dynamique. Dans ce cas, l’ensemble de sauvegardes représente les sauvegardes d’une seule table.
FOR SCHEMA schema_nameSpécifie le nom du schéma. Dans ce cas, l’ensemble de sauvegardes représente les sauvegardes de l’ensemble des tables et autres objets d’un schéma spécifique.
FOR DATABASE database_nameSpécifie le nom de la base de données. Dans ce cas, l’ensemble de sauvegardes représente les sauvegardes de l’ensemble des tables, schémas et autres objets d’une base de données spécifique.
Paramètres facultatifs¶
OR REPLACESi un ensemble de sauvegardes portant ce nom existe déjà, supprimez-le et créez-en un nouveau. Si l’ensemble de sauvegardes ne peut pas être supprimé en raison de règles de politique de sauvegarde relatives aux verrous de conservation, aux conservations légales et aux délais d‘expiration, la commande échoue. Cette clause s’exclut mutuellement avec
IF NOT EXISTS.IF NOT EXISTSCrée l’ensemble de sauvegardes uniquement s’il n’existe pas d’ensemble de sauvegardes portant le même nom. Si un ensemble de sauvegardes existe déjà, la commande renvoie un message de réussite, même si elle n’a aucun effet. Cette clause s’exclut mutuellement avec
OR REPLACE.
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )Spécifie le nom de la balise et la valeur de la chaîne de la balise.
La valeur de la balise est toujours une chaîne de caractères et le nombre maximum de caractères pour la valeur de la balise est 256.
Pour plus d’informations sur la spécification des balises dans une instruction, voir Tag quotas.
WITH BACKUP POLICY policy_nameSpécifie le nom de la politique de sauvegarde pour l’ensemble. La politique de sauvegarde définit les propriétés de l’ensemble de sauvegardes, telles que la planification des sauvegardes, la période de conservation de chaque sauvegarde, et le fait d’empêcher la suppression des sauvegardes avant la fin de la période de conservation.
Si vous omettez ce paramètre dans la commande CREATE BACKUP SET, vous pouvez appliquer une politique ultérieurement à l’aide de la commande ALTER BACKUP SET.
Important
L’application d’une politique de sauvegarde avec un verrou de conservation à un ensemble de sauvegardes est irréversible. En raison des garanties strictes nécessaires à la conformité réglementaire, après avoir placé un verrou de conservation sur un ensemble de sauvegardes, vous ne pouvez plus révoquer ce verrou. Le support Snowflake ne peut pas non plus révoquer un tel verrou de conservation. Réfléchissez bien avant de définir un verrou de conservation sur un ensemble de sauvegardes avec une longue période d’expiration, afin d’éviter des frais de stockage inattendus pour les ensembles de sauvegardes non supprimables, ainsi que pour les schémas et les bases de données qui les contiennent.
Si une organisation Snowflake est supprimée, l’organisation n’est plus un client Snowflake. Dans ce cas, Snowflake supprime toutes les sauvegardes, y compris celles avec des verrous de conservation. La suppression d’une organisation Snowflake nécessite l’intervention du support Snowflake. Il ne s’agit pas d’une opération qu’un administrateur peut effectuer par accident.
COMMENT = 'string_literal'Spécifie un commentaire pour l’ensemble de sauvegardes.
Par défaut : aucune valeur
Exigences en matière de contrôle d’accès¶
Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :
Privilège |
Remarques |
|---|---|
CREATE BACKUP SET |
Le rôle utilisé pour créer un ensemble de sauvegardes doit disposer du privilège accordé sur le schéma dans lequel l’ensemble de sauvegardes est créé. La création effective de l’ensemble de sauvegardes nécessite également le privilège approprié sur l’objet qui est le sujet de l’ensemble de sauvegardes : SELECT pour une sauvegarde de tables, ou USAGE pour une sauvegarde de schémas ou une sauvegarde de bases de données. |
SELECT |
Le rôle utilisé pour créer un ensemble de sauvegardes pour une table doit disposer du privilège SELECT sur cette table. |
USAGE |
Le rôle utilisé pour créer un ensemble de sauvegardes pour un schéma ou une base de données doit disposer du privilège USAGE sur ce schéma ou cette base de données. |
APPLY |
Le rôle utilisé pour appliquer une politique de sauvegarde sur un ensemble de sauvegardes doit disposer de ce privilège sur la politique de sauvegarde. |
APPLY BACKUP RETENTION LOCK |
Le rôle utilisé pour appliquer une politique de sauvegarde avec un verrou de conservation sur un ensemble de sauvegardes doit disposer de ce privilège sur le compte. |
Ces privilèges sont requis sur le rôle principal actuellement actif, et non sur un rôle secondaire.
Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.
Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.
Notes sur l’utilisation¶
Concernant les métadonnées :
Attention
Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.
Important
Si la politique de sauvegarde est associée à un verrou de conservation et qu’il existe des sauvegardes non expirées dans l’ensemble de sauvegardes, vous ne pouvez pas supprimer l’ensemble de sauvegardes. Dans ce cas, vous devez attendre que toutes les sauvegardes de l’ensemble expirent. Cette restriction s’applique même aux rôles privilégiés tels que ACCOUNTADMIN, et à l’assistance Snowflake. C’est pourquoi vous devez être prudent lorsque vous spécifiez le verrou de conservation et une longue période d’expiration dans une politique de sauvegarde.
Exemples¶
Créer un ensemble de sauvegardes nommé t1_backups pour la table t1 :
CREATE BACKUP SET t1_backups
FOR TABLE t1;
Créer un ensemble de sauvegardes t1_backups pour la table t1 avec une politique de sauvegarde :
CREATE BACKUP SET t1_backups
FOR TABLE t1
WITH BACKUP POLICY hourly_backup_policy;
Créer un ensemble de sauvegardes s1_backups pour le schéma s1 avec une politique de sauvegarde :
CREATE BACKUP SET s1_backups
FOR SCHEMA s1
WITH BACKUP POLICY hourly_backup_policy;
Créer un ensemble de sauvegardes d1_backups pour la base de données d1 avec une politique de sauvegarde :
CREATE BACKUP SET d1_backups
FOR DATABASE d1
WITH BACKUP POLICY hourly_backup_policy;