DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL Client/Serveur
  • Droits nécessaires pour effectuer une sauvegarde
  • Caractéristiques de la sauvegarde
  • Sauvegarde effectuée depuis le Centre de Contrôle HFSQL
  • Sauvegardes planifiées
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
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. Cette sauvegarde peut être réalisée alors qu'une ou plusieurs bases de données sont en cours d'utilisation.
La sauvegarde effectuée correspondra à l'état de la base de données au début de la sauvegarde : la base de données sauvegardée est cohérente. Certaines opérations sont interdites pendant la sauvegarde : suppression de fichiers de données et de bases de données, mise à jour de procédures stockées.
La description de la sauvegarde peut être réalisée grâce à la variable de type hDescriptionSauvegarde. Dans ce cas, il est possible de définir :
  • une procédure stockée à exécuter AVANT la sauvegarde. Cette procédure peut si nécessaire annuler la sauvegarde.
  • une procédure stockée à exécuter APRES la sauvegarde.
Pour restaurer cette sauvegarde, utilisez la fonction HRestaureSauvegarde.
Pour supprimer physiquement cette sauvegarde, utilisez la fonction HSupprimeSauvegarde.
Exemple
MaConnexion est une Connexion
 
Sauvegarde_Doc est une hDescriptionSauvegarde
Sauvegarde_Doc.Description = "Sauvegarde Doc"
Sauvegarde_Doc.AvecIndex = Vrai
Sauvegarde_Doc.Destination = "Doc/Sauvegarde"
Sauvegarde_Doc.Source = "Doc/*"
Sauvegarde_Doc.ProcédureAvant = "mabase:ColDoc.Vérif"
Sauvegarde_Doc.ProcédureAprès = "mabase:ColDoc.VérifSauvegarde"
HSauvegarde(MaConnexion, Sauvegarde_Doc)
gcnxConnexion est une Connexion
 
// Sauvegarde la base de données wdcomptes dans le répertoire "Sauvegarde"
SI HSauvegarde(gcnxConnexion, "wdcomptes/*", "wdcomptes/Sauvegarde", Vrai, ...
"Sauvegarde " + DateSys()) = 0 ALORS
Erreur(HErreurInfo(hErrComplet))
FIN
Syntaxe

Syntaxe utilisant le type hDescriptionSauvegarde (avec appel de procédures stockées) Masquer les détails

<Résultat> = HSauvegarde(<Connexion> , <Définition de la sauvegarde>)
<Résultat> : Entier
  • Identifiant de la sauvegarde,
  • 0 en cas d'erreur. La fonction HErreurInfo permet d'identifier l'erreur.
La fonction HSauvegarde n'est pas bloquante : elle lance la sauvegarde et rend la main à l'application.
Remarque : Si une procédure stockée est exécutée avant la sauvegarde et si elle renvoie Faux alors la sauvegarde est annulée.
<Connexion> : Chaîne de caractères ou variable de type Connexion
Connexion vers le serveur à sauvegarder. Cette connexion correspond :
<Définition de la sauvegarde> : Variable de type hDescriptionSauvegarde
Nom de la variable de type hDescriptionSauvegarde contenant la description de la sauvegarde à réaliser. Dans ce type de variable, il est possible de définir une procédure stockée à exécuter avant la sauvegarde et une procédure stockée à exécuter après la sauvegarde.

Syntaxe conservée par compatibilité avec la version 12 Masquer les détails

<Résultat> = HSauvegarde(<Connexion> , <Données à sauvegarder> , <Destination de la sauvegarde> [, <Sauvegarde des index> [, <Description> [, <Jauge>]]])
<Résultat> : Entier
  • Identifiant de la sauvegarde,
  • 0 en cas d'erreur. La fonction HErreurInfo permet d'identifier l'erreur.
La fonction HSauvegarde n'est pas bloquante : elle lance la sauvegarde et rend la main à l'application.
<Connexion> : Chaîne de caractères ou variable de type Connexion
Connexion vers le serveur à sauvegarder. Cette connexion correspond :
<Données à sauvegarder> : Chaîne de caractères
Filtre décrivant les informations à sauvegarder. Les valeurs possibles sont les suivantes :
*Sauvegarde toutes les bases du serveur, les journaux, les bases systèmes (utilisateurs, groupes, droits).
Nom de la base/*Sauvegarde toute la base : fichiers de données, liaisons, procédures stockées, triggers.
Nom de la base/Nom fichier 1Sauvegarde le fichier de données <Nom Fichier 1> de la base <Nom de la base>.
Nom de la base 1/Nom fichier 1 + TAB + Nom de la base 2/Nom fichier 2 + ...Liste d'éléments à sauvegarder. Le séparateur utilisé peut être la tabulation (TAB) ou le point virgule (";").
SystemSauvegarde les bases systèmes (utilisateurs, groupes, droits).
<Destination de la sauvegarde> : Chaîne de caractères
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%%".
<Sauvegarde des index> : Booléen optionnel
  • Vrai (valeur par défaut) pour sauvegarder les index,
  • Faux pour ne pas les sauvegarder. Ne pas sauvegarder les index permet de réduire la taille des sauvegardes. Cependant, la reconstruction des index allongera le temps de restauration.
<Description> : Chaîne de caractères optionnelle
Description de la sauvegarde.
<Jauge> : Nom de champ optionnel
Nom du champ Jauge présent dans la fenêtre. Ce champ est utilisé pour voir uniquement la progression de la phase d'initialisation de la sauvegarde (et non la progression de la sauvegarde). Cette option est disponible uniquement en WINDEV.
Remarques

Droits nécessaires pour effectuer une sauvegarde

Pour effectuer une sauvegarde, l'utilisateur ou le groupe doit posséder le droit de faire des sauvegardes (constante hDroitSauvegarde). Ce droit s'applique aux serveurs et aux bases de données.
Pour savoir si un utilisateur ou un groupe possède ce droit, utilisez la fonction HInfoDroitServeur ou HInfoDroitDaseDeDonnées.
Pour modifier les droits d'un utilisateur ou d'un groupe d'utilisateurs, utilisez la fonction HModifieDroitServeur ou HModifieDroitBaseDeDonnées.

Caractéristiques de la sauvegarde

La sauvegarde effectuée correspondra à l'état de la base de données au début de la sauvegarde.
Pendant la sauvegarde, il est interdit de :
  • supprimer des fichiers et des bases de données,
  • mettre à jour des procédures stockées.

Sauvegarde effectuée depuis le Centre de Contrôle HFSQL

Il est possible de réaliser une sauvegarde depuis le Centre de Contrôle HFSQL. Cette sauvegarde est disponible dans l'onglet "Sauvegardes" de la description du serveur (bouton "Nouvelle sauvegarde").

Sauvegardes planifiées

Il est possible de planifier les sauvegardes effectuées sur le serveur :
  • soit à l'aide des tâches planifiées gérées par le WLangage (fonction HAjouteTâche).
  • soit à l'aide du Centre de Contrôle HFSQL (onglet "Tâches Planifiées" de la description du serveur).
Liste des exemples associés :
WD Duplication Exemples didactiques (WINDEV) : WD Duplication
[ + ] Cet exemple didactique montre comment il est possible de dupliquer une base de données sur un serveur.
La duplication s'effectue par programmation et permet de donner un nouveau nom à la base.
L'exemple s'appuie sur les fonctions de sauvegarde et de restauration de sauvegarde HFSQL.
Classification Métier / UI : Code métier
Composante : wd290hf.dll
Version minimum requise
  • Version 12
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale