|
- Propriétés WLangage utilisables avec le type hDescriptionSauvegarde
- Fonctionnement de la limite du nombre de sauvegardes (propriété LimiteNombreSauvegarde)
- Paramètres de la procédure stockée appelée AVANT la sauvegarde
- Paramètres de la procédure stockée appelée APRES la sauvegarde
- Fonctions utilisant les variables de type hDescriptionSauvegarde :
hDescriptionSauvegarde (Type de variable) En anglais : hBackupDescription
Disponible uniquement avec ce type de connexion
Le type hDescriptionSauvegarde permet de décrire une sauvegarde HFSQL Client/Serveur par programmation. Cette sauvegarde peut être immédiate ou planifiée. Les caractéristiques de cette sauvegarde peuvent être définies et modifiées à l'aide de différentes propriétés WLangage. Remarque : Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
// Description d'une sauvegarde immédiate Sauvegarde_Doc est une hDescriptionSauvegarde Sauvegarde_Doc.Description = "Sauvegarde Doc" Sauvegarde_Doc.AvecIndex = Vrai Sauvegarde_Doc.Jauge = "JAUGE_MaJauge" Sauvegarde_Doc.Destination = "Doc/Sauvegarde" Sauvegarde_Doc.Source = "Doc/*" Sauvegarde_Doc.ProcédureAvant = "mabasededonnees:ColDoc.Vérif" Sauvegarde_Doc.ProcédureAprès = "mabasededonnees:ColDoc.VérifSauvegarde" Sauvegarde_Doc.LimiteNombreSauvegarde = 5 // Enregistrement de la sauvegarde HSauvegarde(MaConnexion, Sauvegarde_Doc)
// Création d'une sauvegarde planifiée toutes les 5 minutes // avec une sauvegarde différentielle toutes les minutes hSvg est une hDescriptionSauvegarde hSvg.Activé = Vrai hSvg.AvecIndex = Vrai hSvg.Description = "Sauvegarde planifiée toutes les N minutes " + ... " avec une sauvegarde différentielle toutes les minutes sur la base de données " + ... cnx.BaseDeDonnées + " créée le "+ DateVersChaîne(DateSys(), maskDateSystème) + ... " à " + HeureVersChaîne(HeureSys(), "HH:MM:SS:CC") hSvg.Destination = "Sauvegarde_"+ cnx.BaseDeDonnées hSvg.LimiteNombreSauvegarde = 2 hSvg.Source = cnx.BaseDeDonnées hSvg.PlanificationComplète.Mois = "*" hSvg.PlanificationComplète.JourDuMois = "*" // Définition de la planification dhDateHeureServeur est une DateHeure = HInfoServeur(cnx, hInfoDate) dhDateHeureServeur.Minute++ hSvg.PlanificationComplète.Heure = dhDateHeureServeur.Heure hSvg.PlanificationComplète.Minute = dhDateHeureServeur.Minute hSvg.PlanificationComplète.JourDeLaSemaine = "*" hSvg.PlanificationComplète.JourDuMoisOuDeLaSemaine = Faux hSvg.PlanificationDifférentielle.Mois = "*" hSvg.PlanificationDifférentielle.JourDuMois = "*" hSvg.PlanificationDifférentielle.Heure = "*" hSvg.PlanificationDifférentielle.Minute = "*" hSvg.PlanificationDifférentielle.JourDeLaSemaine = "*" hSvg.PlanificationDifférentielle.JourDuMoisOuDeLaSemaine = Faux // Ajout de la sauvegarde planifiée SI HAjouteSauvegardePlanifiée(cnx, hSvg) = Faux ALORS Erreur("Echec de la création de la sauvegarde planifiée", HErreurInfo(hErrComplet)) RETOUR FIN
Remarques Propriétés WLangage utilisables avec le type hDescriptionSauvegarde Les propriétés suivantes peuvent être utilisées pour manipuler une variable de type hDescriptionSauvegarde. | | | Nom | Type manipulé | Effet |
---|
Activé | Booléen | Permet de gérer l'activation d'une sauvegarde planifiée : - Vrai si la planification de la sauvegarde est activée : la sauvegarde est réalisée selon la planification définie.
- Faux si la planification de la sauvegarde n'est pas activée : la sauvegarde n'est pas réalisée.
| AvecIndex | Booléen | - Vrai si la sauvegarde des index doit être réalisée,
- Faux dans le cas contraire.
Cette propriété est optionnelle. Par défaut, la sauvegarde des index est réalisée. | Compression | Constante de type Entier | Permet de compresser ou non le résultat de la sauvegarde. Cette propriété peut correspondre à une des constantes suivantes :- zipFormatAucun : Aucune compression.
- zipFormatZIP : Compression au format Zip.
| Description | Chaîne de caractères | Description associée à la sauvegarde. Cette propriété est optionnelle. Par défaut, la description de la sauvegarde correspond à une chaîne vide (""). | Destination | Chaîne de caractères | Destination de la sauvegarde (Nom et destination de la sauvegarde). La sauvegarde sera réalisée sur le serveur, dans un emplacement défini par ce nom. Si ce nom correspond à un chemin relatif, la sauvegarde sera placée dans le sous-répertoire "Backup" du serveur HFSQL. Pour spécifier :- le répertoire du service Manta, il suffit d'utiliser la chaîne de caractères "%%EXE%%".
- l'année, il suffit d'utiliser la chaîne de caractères "%%ANNEE%%" (par exemple 2008).
- le mois sur 2 chiffres, il suffit d'utiliser la chaîne de caractères "%%MOIS%%" (par exemple 03).
- le jour, il suffit d'utiliser la chaîne de caractères "%%JOUR%%".
- l'heure, il suffit d'utiliser la chaîne de caractères "%%HEURE%%".
- les minutes, il suffit d'utiliser la chaîne de caractères "%%MINUTE%%".
Exemples : - Pour stocker la sauvegarde dans un répertoire qui correspond à l'année, au jour, et à l'heure dans le sous-répertoire "Backup", utilisez :
// Sauvegarde dans le répertoire 2021_21_13 Svg_Doc.Destination="%%ANNEE%%_%%JOUR%%_%%HEURE%%"
- Pour stocker la sauvegarde dans un répertoire "Doc/Sauvegarde" au même niveau que le répertoire du service Manta, utilisez :
Svg_Doc.Destination="%%EXE%%/Doc/Sauvegarde/%%ANNEE%%"
| Identifiant | Entier | Identifiant de la sauvegarde. Cette propriété est disponible en lecture seulement. | Jauge | Nom d'un champ | Nom du champ Jauge utilisé dans la fenêtre pour voir la progression de la phase d'initialisation de la sauvegarde (et non la progression de la sauvegarde).
Propriété optionnelle disponible uniquement en WINDEV. | LimiteNombreSauvegarde | Entier | Nombre maximum de sauvegardes du même type à réaliser. Si ce chiffre correspond à 0, il n'y a pas de limite. Si le nombre de sauvegardes dépasse la valeur limite, certaines sauvegardes anciennes seront retirées du serveur. Pour plus de détails, consultez le paragraphe "Fonctionnement de la limite du nombre de sauvegardes". | PlanificationComplète | Variable de type hPlanification | Caractéristiques d'une sauvegarde complète. Cette propriété est obligatoire. | PlanificationDifférentielle | Variable de type hPlanification | Caractéristiques d'une sauvegarde différentielle. Il est possible de définir à la fois une sauvegarde complète et une sauvegarde différentielle. Il n'est pas possible de réaliser uniquement une sauvegarde différentielle. Cette propriété est optionnelle. | ProcédureAprès | Chaîne de caractères | Nom de la procédure stockée utilisée après l'exécution de la sauvegarde. Le nom de la procédure est de la forme : <Nom de la base de données>:<Nom de la collection de procédures>.<Nom de la procédure stockée>.
Cette propriété est optionnelle. Si cette propriété n'est pas définie, aucune procédure n'est exécutée.
Pour plus de détails, consultez le paragraphe "Paramètres de la procédure stockée appelée APRES la sauvegarde". | ProcédureAvant | Chaîne de caractères | Nom de la procédure stockée utilisée avant l'exécution de la sauvegarde. Le nom de la procédure est de la forme : <Nom de la base de données>:<Nom de la collection de procédures>.<Nom de la procédure stockée>.
Cette propriété est optionnelle. Si cette propriété n'est pas définie, aucune procédure n'est exécutée.
Pour plus de détails, consultez le paragraphe "Paramètres de la procédure stockée appelée AVANT la sauvegarde". | Source (*) | Chaîne de caractères | Filtre utilisé pour définir les données à sauvegarder. Les valeurs possibles sont :- * : Sauvegarde toutes les bases de données du serveur, les journaux, les bases de données systèmes (utilisateurs, groupes, droits).
- Nom de la base de données/* : Sauvegarde toute la base de données : fichiers, liaisons, procédures stockées, triggers.
- Nom de la base de données/Nom Fichier1 : Sauvegarde le fichier <Nom Fichier1> de la base de données <Nom de la base de données>.
- Nom de la base de données 1/Nom Fichier1 + TAB + Nom de la base de données 2/Nom Fichier2 + ... : Liste d'éléments à sauvegarder. Le séparateur utilisé peut être la tabulation (TAB) ou le point virgule (";").
- System : Sauvegarde les bases de données systèmes (utilisateurs, groupes, droits).
Cette propriété est obligatoire. | Utilisateur | Chaîne de caractères | Utilisateur qui a créé la sauvegarde. Cette propriété est disponible en lecture seulement. | WebhookAprès | Chaîne de caractères | URL d'un service REST qui sera déclenché après la sauvegarde et la procédure spécifiée avec la propriété ProcédureAprès (si elle existe). Une requête de type POST sera effectuée sur l'URL fournie. L'URL reçoit un contenu de type 'application/json' correspondant aux informations sur la sauvegarde effectuée. Par exemple :
{ "identifier" : "283", "destination" : "c:\backup\283\monbackup.zip", "state" : "completed" }
où : - "identifier" correspond à l'identifiant de la sauvegarde.
- "destination" correspond à la destination de la sauvegarde.
- "state" correspond à l'état de la sauvegarde. Différents états sont possibles : 'completed', 'canceled' ou 'error'.
|
Les propriétés suivies du caractère (*) sont obligatoires. Fonctionnement de la limite du nombre de sauvegardes (propriété LimiteNombreSauvegarde) Lorsque la limite du nombre de sauvegardes est activée ( LimiteNombreSauvegarde différent de 0) : - Avant la sauvegarde : Recherche des anciennes sauvegardes similaires (même source et même destination). Si ces sauvegardes sont en erreur, les fichiers de la sauvegarde seront effacés du disque (mais la sauvegarde restera présente dans l'historique des sauvegardes).
- Exécution de la "Procédure Avant".
- Sauvegarde.
- Exécution de la "Procédure Après".
- Si le nombre de sauvegardes similaires (même source et même destination) effectuées avec succès est supérieur à la valeur de la limite alors le serveur va supprimer certaines de ces sauvegardes et les retirer de l'historique. Cette suppression se fait en commençant par la sauvegarde la plus ancienne jusqu'à ce que le nombre de sauvegardes soit égal à la valeur demandée.
Remarque : Il est possible d'utiliser cette propriété pour mettre en place un système de sauvegarde spécifique. Par exemple : - Une sauvegarde tous les jours, avec conservation des 7 dernières.
- Une sauvegarde toutes les semaines avec conservation des 4 dernières.
- Une sauvegarde tous les mois avec conservation des 6 dernières.
Paramètres de la procédure stockée appelée AVANT la sauvegarde La procédure stockée appelée AVANT la sauvegarde peut prendre des paramètres. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Données à sauvegarder>, ... <Destination de la sauvegarde>, <Description>)
Ces paramètres sont optionnels. Ils vous permettront de manipuler les indications suivantes dans le code de la procédure stockée : - <Données à sauvegarder> : Chaîne de caractères correspondant aux informations à sauvegarder. Correspond à la propriété Source. Les valeurs possibles sont les suivantes :
| | * | Sauvegarde toutes les bases de données du serveur, les journaux, les bases de données systèmes (utilisateurs, groupes, droits). | Nom de la base de données 1/Nom Fichier1 + TAB + Nom de la base de données 2/Nom Fichier2 + ... | Liste d'éléments à sauvegarder. Le séparateur utilisé peut être la tabulation (TAB) ou le point virgule (";"). | Nom de la base de données/* | Sauvegarde toute la base de données : fichiers, liaisons, procédures stockées, triggers. | Nom de la base de données/Nom Fichier1 | Sauvegarde le fichier <Nom Fichier1> de la base de données <Nom de la base de données>. | System | Sauvegarde les bases de données systèmes (utilisateurs, groupes, droits). |
- <Destination de la sauvegarde> : Nom et destination de la sauvegarde. Correspond à la propriété Destination. La sauvegarde sera réalisée sur le serveur, dans un emplacement défini par ce nom. Si ce nom correspond à un chemin relatif, la sauvegarde sera placée dans le sous-répertoire "Backup" du serveur HFSQL. Pour spécifier :
- le répertoire du service Manta, il suffit d'utiliser la chaîne de caractères "%%EXE%%".
- l'année, il suffit d'utiliser la chaîne de caractères "%%ANNEE%%" (par exemple 2008).
- le mois sur 2 chiffres, il suffit d'utiliser la chaîne de caractères "%%MOIS%%" (par exemple 03).
- le jour, il suffit d'utiliser la chaîne de caractères "%%JOUR%%".
- l'heure, il suffit d'utiliser la chaîne de caractères "%%HEURE%%".
- les minutes, il suffit d'utiliser la chaîne de caractères "%%MINUTE%%".
- <Description> : Description de la sauvegarde. Correspond à la propriété Description.
Paramètres de la procédure stockée appelée APRES la sauvegarde La procédure stockée appelée APRES la sauvegarde peut prendre des paramètres. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Données à sauvegarder>, <Destination de la sauvegarde>, ... <Description>, <Etat>, <Message d'erreur>)
Ces paramètres sont optionnels. Ils vous permettront de manipuler les indications suivantes dans le code de la procédure stockée : - <Données à sauvegarder> : Chaîne de caractères correspondant aux informations à sauvegarder. Correspond à la propriété Source. Les valeurs possibles sont les suivantes :
| | * | Sauvegarde toutes les bases de données du serveur, les journaux, les bases de données systèmes (utilisateurs, groupes, droits). | Nom de la base de données 1/Nom Fichier1 + TAB + Nom de la base de données 2/Nom Fichier2 + ... | Liste d'éléments à sauvegarder. Le séparateur utilisé peut être la tabulation (TAB) ou le point virgule (";"). | Nom de la base de données/* | Sauvegarde toute la base de données : fichiers, liaisons, procédures stockées, triggers. | Nom de la base de données/Nom Fichier1 | Sauvegarde le fichier <Nom Fichier1> de la base de données <Nom de la base de données>. | System | Sauvegarde les bases de données systèmes (utilisateurs, groupes, droits). |
- <Destination de la sauvegarde> : Nom et destination de la sauvegarde. Correspond à la propriété Destination. La sauvegarde sera réalisée sur le serveur, dans un emplacement défini par ce nom. Si ce nom correspond à un chemin relatif, la sauvegarde sera placée dans le sous-répertoire "Backup" du serveur HFSQL. Pour spécifier :
- le répertoire du service Manta, il suffit d'utiliser la chaîne de caractères "%%EXE%%".
- l'année, il suffit d'utiliser la chaîne de caractères "%%ANNEE%%" (par exemple 2008).
- le mois sur 2 chiffres, il suffit d'utiliser la chaîne de caractères "%%MOIS%%" (par exemple 03).
- le jour, il suffit d'utiliser la chaîne de caractères "%%JOUR%%".
- l'heure, il suffit d'utiliser la chaîne de caractères "%%HEURE%%".
- les minutes, il suffit d'utiliser la chaîne de caractères "%%MINUTE%%".
- <Description> : Description de la sauvegarde. Correspond à la propriété Description.
- <Etat> : entier (ou constante de type Entier) permettant de connaître l'état de la sauvegarde :
| | | hSvgAnnulée | 2 | Sauvegarde annulée | hSvgEnCours | 0 | Sauvegarde en cours | hSvgErreur | 3 | Erreur lors de la sauvegarde | hSvgTerminée | 1 | Sauvegarde terminée |
- <Message d'erreur> : Message d'erreur s'il existe sous forme de chaîne de caractères.
Fonctions utilisant les variables de type hDescriptionSauvegarde : | | HAjouteSauvegardePlanifiée | Ajoute une planification de sauvegarde complète (avec ou sans sauvegarde différentielle) sur le serveur défini par la connexion. | HListeSauvegardePlanifiée | Liste les sauvegardes complètes et différentielles qui ont été planifiées sur un serveur HFSQL Client/Serveur. | HModifieSauvegardePlanifiée | Modifie une planification de sauvegarde. | HSauvegarde | Réalise la sauvegarde du contenu d'un serveur HFSQL : toutes les bases de données du serveur, une ou plusieurs bases de données, un ou plusieurs fichiers de données. |
Documentation également disponible pour…
|
|
|
|
|
|
|