none
Synchroniser 2 bases de données RRS feed

  • Question

  •  

    Bonjour,

    Je voudrais savoir si il y a la possibilité en standard de synchroniser certaines tables de deux bases de données SQLSERVER. J'explique mon problème:

     

    j'ai deux bases de données ayant la même structure:

     

    DB1                                DB2

    table1                            table1

    table2                            table2

    table3                            table3

    table4                            table4

     

    les données peuvent être saisies indépendamment dans DB1 ou dans DB2

    Je voudrais que les données saisies dans DB1.dbo.table3 soient visibles dans DB2.dbo.table3 et réciproquement.

     

    J'ai un peu fait joujou avec l'outil de réplication de SQL SERVER, mais j'ai l'impression qu'il ne fait pas de synchronisation, ou alors, je n'ai pas poussé assez loin mes recherches: dans mes tests, il fait systématiquement un snapshot de DB1.dbo.table3 (publication) et il va me la recopier telle quelle dans DB2.dbo.table3 en supprimant tout ce qui existe dedans. En d'autres termes, DB2.dbo.table3 est l'image exacte de DB1.dbo.table3.

    Est-ce qu'il est possible de faire cette synchronisation avec les outils standards de SQLServer? Passer par des triggers ou des procédures stockées serait trop compliqué.

    Merci bien

    vendredi 14 novembre 2008 12:50

Toutes les réponses

  • Bonjour,
     
    Si vous souhaitez mettre de données à jour des deux côtés DB1 et DB2 et vice-versa, la meilleur solution serait d'utiliser les réplications de SQL Server effectivement.
     
    SQL Server dispose de 3 types de réplications (Snapshot, Transactionnel, Fusion), dans votre cas je vous recommande de vous orienter vers les réplications de fusion. Effectivement les Snapshot sont effectuées par copie des données d'un table par exemple vers la destination avec suppression de la cible..
     
    Je vous invite à consulter les liens suivant sur plus d'information sur les réplications :
    SQL Server Replication
    http://msdn.microsoft.com/en-us/library/ms151198(SQL.90).aspx
     
    Merge Replication
    http://technet.microsoft.com/en-us/library/ms172367(SQL.90).aspx
     
    Cordialement,
     
    Philippe Bouchardy

    vendredi 14 novembre 2008 13:10
  • Bonjour Philippe,

    Merci pour votre réponse, j'ai fait les tests, et ca fonctionne bien.

    En fait, si j'ai bien compris, le snapshot, lors de l'initialisation, permet de mettre à niveau la table de DB2 à partir de celle de DB1, puis aprés, il synchronise des deux cotés? (En quel cas, il faudrait que je prévoie un backup de la table avec les données initiales, puis que je les réinjecte une fois que ma réplication est mise à jour).

    Merci et bon week end.

    Cordialement

     

    vendredi 14 novembre 2008 15:33