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 :

Synchronisation deux base de données


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 48
    Points : 21
    Points
    21
    Par défaut Synchronisation deux base de données
    Bonjour tout le monde,
    J'ai deux base de données sql server 2000. Je veux les concatener sachant qu'il y a des enregistrements communs.
    j'ai essayé d'exporter la premiére vers la deuxiéme mais des erreurs apparaissent à propos de la viloation de clé.
    merci d'avance

  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 858
    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 858
    Points : 52 996
    Points
    52 996
    Billets dans le blog
    6
    Par défaut
    Il faut faire des requêtes du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO BaseCible.Schema.Table
    SELECT ...
    FROM BaseSource.Schema.TAble S
            LEFT OUTER JOIN BaseCible.Schema.Table C
                   ON S.??? = C.??? AND C.??? IS NULL
    ou ??? est la colonne clé !

    A +

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Bonjour;
    Ca concerne la synchronisation de deux bases de données qui sont sur le meme serveur. Mais si les deux bases sont hebergées chacune sur un serveur distant différent ???
    Merci pour vos aides.
    Rosa

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonsoir,

    Dans ce cas vous pouvez réutiliser la requête de SQLPro en préfixant vos tables par le nom des serveurs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO [ServeurCible].BaseCible.Schema.TABLE
    SELECT ...
    FROM [ServeurSource].BaseSource.Schema.TABLE S
            LEFT OUTER JOIN [ServeurCible].BaseCible.Schema.TABLE C
                   ON S.??? = C.??? AND C.??? IS NULL
    Pour cela, il faut au préalable que les deux serveurs soient liés. Vous pouvez lier deux serveurs à l'aide de la procédure stockée système sp_addlinkedserver. Vous pouvez vérifier si vos serveurs sont liés en sélectionnant la vue catalogue système sys.servers

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Bonjour;
    Je suis débutante dans sql server car je suis habituée plus tot à travailler avec Oracle. Est ce que je dois executer ces requetes dans "analyseur de requetes"?
    Et est ce que la procédure sp_addlinkedserver permet d'attacher une base à une autre ? ou uniquement les serveurs?
    Merci pour votre aide.
    Rosa.

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonsoir,

    Est ce que je dois executer ces requetes dans "analyseur de requetes"?
    Oui, bous pouvez créer et exécuter vos requêtes sous l'analyseur de requêtes de SQL Server 2000.

    Et est ce que la procédure sp_addlinkedserver permet d'attacher une base à une autre ? ou uniquement les serveurs?
    Lorsque deux bases de données sont hébergées sur le même serveur, alors il suffit de préfixer le nom de vos tables par celui de la base de données.
    En revanche si les bases de données sont hébergées sur des serveurs distincts, vous devez au préalable lier les deux serveurs (cela implique la gestion de la sécurité) à l'aide de la procédure stockée sp_addlinkedserver.

    A+

Discussions similaires

  1. Synchroniser deux bases de données
    Par mouchkar dans le forum Administration
    Réponses: 3
    Dernier message: 08/02/2011, 11h53
  2. synchroniser deux bases de données
    Par yacine.dev dans le forum MySQL
    Réponses: 5
    Dernier message: 11/11/2010, 01h42
  3. Synchroniser deux bases de données Access 2003?
    Par js8bleu dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/04/2010, 09h52
  4. Réponses: 4
    Dernier message: 05/11/2009, 17h35
  5. Synchroniser deux bases de données
    Par whitespirit dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 27/11/2008, 14h01

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