- 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.
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
HSauvegarde(MaConnexion, Sauvegarde_Doc)
Nouveauté 2025
Sauvegarde_Doc est une hDescriptionSauvegarde
Sauvegarde_Doc.Description = "SauvegardeAvecDroit"
Sauvegarde_Doc.AvecIndex = Vrai
Sauvegarde_Doc.Destination = "Back/SauvegardeAvecDroit"
Sauvegarde_Doc.Source = "Anonymisation/*"
Sauvegarde_Doc.Ftp.Connexion.Serveur = "chorizo-2k8"
Sauvegarde_Doc.Ftp.Connexion.Utilisateur = "TT"
Sauvegarde_Doc.Ftp.Connexion.MotDePasse = "TT"
Sauvegarde_Doc.Ftp.Connexion.NuméroPort = 22
Sauvegarde_Doc.Ftp.Connexion.TypeConnexion = ftpModeActif
Sauvegarde_Doc.Ftp.CheminDestination = "/tmp"
HSauvegarde(MaConnexion, Sauvegarde_Doc)
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 = "*"
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
SI HAjouteSauvegardePlanifiée(cnx, hSvg) = Faux ALORS
Erreur("Echec de la création de la sauvegarde planifiée", HErreurInfo(hErrComplet))
RETOUR
FIN
Propriétés 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.
| Nouveauté 2025Anonymisation | Constante de type Entier | Permet de gérer l'anonymisation des données contenues dans la sauvegarde: - hSvgAnonymiséeSelonDroits:
Les données de la sauvegarde sont anonymisées selon les droits de l'utilisateur réalisant la sauvegarde: - Administrateur: toutes les rubriques anonymisées sont en clair dans la sauvegarde.
- Utilisateur sans droit de désanonymiser des rubriques: toutes les rubriques anonymisées sont masquées.
- Utilisateur avec droit de désanonymiser quelques rubriques: seules les rubriques pouvant être désanonymisées sont en clair dans la sauvegarde. Les autres rubriques sont masquées.
- hSvgNonAnonymisée (Valeur par défaut):
Les rubriques sont non anonymisées uniquement si l'administrateur effectue la sauvegarde. Dans les autres cas (utilisateur sans droit de désanonymiser ou utilisateur possédant le droit de désanonymiser quelques rubriques), la sauvegarde échoue. - hSvgTouteAnonymisée: Quels que soient les droits de l'utilisateur réalisant la sauvegarde, les rubriques anonymisées restent anonymisées dans la sauvegarde.
Attention: Restauration d'une sauvegarde avec rubriques anonymisées: Si la sauvegarde contient des données anonymisées, les données resteront anonymisées lors de la restauration (et seront donc illisibles, quels que soient les droits de l'utilisateur voulant y accéder). | 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:
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%%"
Nouveauté 2025Attention: En cas d'anonymisation (propriété Anonymisation différente de la constante hSvgNonAnonymisée), la destination de la sauvegarde ne doit pas correspondre à un chemin UNC. | Nouveauté 2025Ftp.CheminDestination | Chaîne de caractères | Chemin de copie de la sauvegarde sur le serveur FTP. Cette propriété est prise en compte uniquement si la propriété Ftp.Connexion est renseignée. | Nouveauté 2025Ftp.Connexion | Variable de type ftpConnexion | Caractéristiques de la connexion au serveur FTP sur lequel la sauvegarde doit être copiée. Si cette propriété n'est pas spécifiée, aucune copie sur le serveur FTP n'est réalisée. | 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: tables, liaisons, procédures stockées, triggers.
- Nom de la base de données/Nom Table 1.fic: Sauvegarde la table <Nom Table 1> de la base de données <Nom de la base de données>.
- Nom de la base de données 1/Nom Table 1.fic + TAB + Nom de la base de données 2/Nom Table 2.fic + ...: 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. Remarques 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: | | HAjoutePlanification | Ajoute un nouvel élément planifié sur un serveur HFSQL: tâche planifiée (procédure stockée), sauvegarde, optimisation ou rafraîchissement d'une vue matérialisée. | HAjouteSauvegardePlanifiée | Ajoute une planification de sauvegarde complète (avec ou sans sauvegarde différentielle) sur le serveur défini par la connexion. | HExécutePlanification | Exécute immédiatement un élément planifié sans tenir compte de sa planification: tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | | Liste l'historique d'exécution d'une opération planifiée sur un serveur HFSQL: tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | HModifiePlanification | Modifie un élément planifié sur un serveur HFSQL: tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | 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, une ou plusieurs tables. | | Supprime l'historique d'exécution d'un élément planifié sur un serveur HFSQL: tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | HSupprimePlanification | Supprime un élément planifié sur un serveur HFSQL: tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. |
Documentation également disponible pour…
|
|
|