IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Gestion de l'historique des données (archivage)


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 61
    Points : 45
    Points
    45
    Par défaut Gestion de l'historique des données (archivage)
    svp , j'ai une application avec une base de données sous sql server, le problème c'est que j'ai bcp de données qui sont mis à jours avec une fréquence non précise , et j'ai besoin de garder l'historique de ces données
    par exemple j'ai des info concernant une personne parmis ces information l'adresse , si la personne change d'adresse je voudrais changer l'adresse tt en gardant l'ancienne , est ce qu'il y a un moyen de gérer cela sous sql server , une sorte d'archivage ou de gestion d'historique ou de versionning???sinon est ce que vous pouvez me proposez des solutions pour remédier a sa??
    merci bcp

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 886
    Points : 53 092
    Points
    53 092
    Billets dans le blog
    6
    Par défaut
    Il existe de nombreuses façons de faire cela :
    1) en conservant toutes les versions de lignes dans la table elle même avec une colonne supplémentaire d'horodatage associée à un déclencheur. En gros on rajoute une colonne DATETIME2 de nom DH_OBSOLETE à la table et on l'associe à la clef. Par défaut cette colonne contient '9999-12-31' pour les insert. Dès qu'un UPDATE est effectué, alors on rajoute une ligne avec les anciennes informations (tirées de la pseudo table inserted) et avec la date/heure actuelle.
    2) archivage hors ligne : on crée des tables dans un schéma SQL "historique" (ou dans une autre base), en clonant les tables de production avec en sus une colonne DATETIME2 de nom DH_OBSOLETE. Et à nouveau un déclencheur fait l'affaire...
    3) On utilise les outils internes comme Change Data Capture (CDC) en version Enterprise ou encore Change Tracking pour ce faire.

    À me lire : http://blog.developpez.com/sqlpro/p8...on_des_donnees

    A +

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 61
    Points : 45
    Points
    45
    Par défaut
    merci bcp pour votre réponse intéressante , j'ai juste une question, sa sera quoi le role de trigger dans tous les cas ???
    et merci bcp encore une fois

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 886
    Points : 53 092
    Points
    53 092
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par aghilass Voir le message
    merci bcp pour votre réponse intéressante , j'ai juste une question, sa sera quoi le role de trigger dans tous les cas ???
    et merci bcp encore une fois
    D'ajouter les données des anciennes versions automatiquement à chaque UPDATE/DELETE.

    A +

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 61
    Points : 45
    Points
    45
    Par défaut
    merci beaucoup SQLPro

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Taille de l'historique des donnés
    Par beMhB dans le forum Conception/Modélisation
    Réponses: 4
    Dernier message: 16/06/2008, 10h45
  2. Réponses: 1
    Dernier message: 02/06/2008, 08h18
  3. [VS2005]Historique des donnée supprimée
    Par matrixdine dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/04/2008, 19h31
  4. gestion d'une base des données
    Par bkhbkh dans le forum JDBC
    Réponses: 1
    Dernier message: 16/06/2007, 19h05
  5. Gestion Historique des données dans une table
    Par popof60 dans le forum Access
    Réponses: 3
    Dernier message: 16/02/2007, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo