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

MS SQL Server Discussion :

Mise à jour de bases de données distantes, de manière incrémentale


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 87
    Par défaut Mise à jour de bases de données distantes, de manière incrémentale
    Bonjour,

    On vient de me refiler une patate chaude, avec laquelle je ne suis pas d'accord mais qui a malheureusement été validée en CODIR...

    Le besoin :
    • Mettre à jour les bases de données SQL de 7 PC portable
    • Les PC sont déconnectés du réseau 98% du temps
    • La synchronisation sera réalisée à travers le VPN
    • La mise à jour des données doit être incrémentale pour que la mise à jour ne dure pas trop longtemps (les pauvres )


    Je pense avoir 3 options :
    1. Mettre en place une réplication : Quel type serait le plus interessant ?
    2. Mettre en place un script SQL à base de RESTORE LOG ?
    3. Mettre en place un flux à l'aide d'un E.TL. ?


    Maintenant, même si je réussi à synchroniser les données, j'ai peur que la maintenance soit vraiment impossible (changement de structure, maintenance, pas la main sur le pc ... etc).

    Avez-vous des idées ? Quelle serait la meilleurs solutions ? Avez-vous déjà rencontré ce genre de problématique ?

    Par avance,
    un GRAND Merci !


  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    j'ai eu ce pb il y a 3 ans pour une banque privée dont les commerciaux avaient un portable et se déplaçaient chez les "gros clients".

    j'ai essayé la réplication en pull (à la demande) => ko
    des backup restore compressé => trop long

    j'ai fini par faire un petit soft qui transmets des scripts transac sous forme texte par ftp quand le commercial se connecte, ceux ci sont ensuite exécuté sur le PC du commercial.

    pour générer ces fichiers, j'ai mis sur toutes les tables des triggers en insert/update/delete.

    c'est fastidieux mais c'est top en souplesse, rapidité, tout ce que tu veux

  3. #3
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Maintenant, plutôt que les triggers, tu peux utiliser le CDC sur ta base maitre.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 87
    Par défaut
    Citation Envoyé par serge0934 Voir le message
    pour générer ces fichiers, j'ai mis sur toutes les tables des triggers en insert/update/delete.

    c'est fastidieux mais c'est top en souplesse, rapidité, tout ce que tu veux
    Citation Envoyé par Jinroh77 Voir le message
    Maintenant, plutôt que les triggers, tu peux utiliser le CDC sur ta base maitre.
    J'avais commencé plus ou moins la même chose en gérant des Insert / Update / Delete à l'aide d'un composant Map_Opration avec mon ETL SAP Dataservices.

    Le problème c'est qu'on m'a annoncé que la structure risque de changer régulièrement
    Du coup j'ai pas forcément envie de changer le SQL à la main à chaque fois

  5. #5
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    quand je disais toutes les tables, c'est TOUTES, y compris syscolumns, sysobjects, sysindexes....

  6. #6
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    en plus pour éviter de te rettaper "à la main" des triggers, il faut faire une requête qui te les génère ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    select 'insert into table ('+
    case
    when xtype=52 then champ1
    when xtype=56 then champ1
    when xtype=58 then champ1
    when xtype=167 then '''+champ1+'''
    ....
    from sysobjects
    join syscolumns
    join systypes...

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 017
    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 : 22 017
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par serge0934 Voir le message
    en plus pour éviter de te rettaper "à la main" des triggers, il faut faire une requête qui te les génère ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    select 'insert into table ('+
    case
    when xtype=52 then champ1
    when xtype=56 then champ1
    when xtype=58 then champ1
    when xtype=167 then '''+champ1+'''
    ....
    from sysobjects
    join syscolumns
    join systypes...
    Les tables que vous citez sont en version 2000; En version 2005 et supérieurs elles en contiennent pas les bonnes données et de plus la mise à jour des tables systèmes dans les version 2005 et 2008 n'est plus supportées.

    La solution consiste à faire au moins deux flux de réplication :
    • une transactionnelle de serveur central aux poste pour les structures et les éventuelles données de référence
    • une snapshot ou transactionnelle des données des postes nomades vers le serveur central.

    Tout dépend des besoins fonctionnels.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. [Cours pt-05]Moteur de mise à jour de base de données
    Par Papy Turbo dans le forum Sondages et Débats
    Réponses: 38
    Dernier message: 29/10/2007, 20h02
  2. Mise à Jour Champ Base de Donnée
    Par arjo54 dans le forum IHM
    Réponses: 0
    Dernier message: 10/10/2007, 16h38
  3. [MySQL] Mise à jour dynamique base de données
    Par Lili72430 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/09/2007, 13h36
  4. Requête de mise à jour - Ouverture base de données
    Par ade94 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 31/05/2007, 17h50
  5. Problème de mise à jour de base de données
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 12h38

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