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

Réplications SQL Server Discussion :

[2019] - Mise à jour de BDD vers une autre


Sujet :

Réplications SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut [2019] - Mise à jour de BDD vers une autre
    Bonjour,

    J'ouvre ce nouveau fil pour vous exposez ma problématique et j'espère être au bon endroit...

    J'ai une base de données "BDD_A" dispo sur le réseau "RES_A" qui se met à jour très fréquemment en fonction d'évènements.
    Je dispose d'une autre base "BDD_B" sur le réseau "RES_B" qui doit être la réplique de "BDD_A" : une mise à jour de "BBD_B" par rapport à "BDD_A" doit se faire toutes les 60mn (paramètre à envisager).
    On suppose qu'à l'instant t0 les bases "BDD_A" et "BDD_B" sont identiques (par full backup de "BDD_A" et restauré dans "BDD_B").
    A t1=t0+59mn, la "BDD_A" possède de nouveaux enregistrement alors que la "BDD_B" est inchangée.
    A t2=t1+1mn (t0+60mn), la "BDD_B" doit se mettre à jour avec toutes les nouvelles données de la "BDD_A".

    Contrainte : la communication entre les réseaux "RES_A" et "RES_B" est à sens unique de "RES_A" vers "RES_B" (c'est seulement gênant pour remonter au serveur qui gère "BDD_A" l'information comme quoi la restauration sur "BDD_B" s'est bien passée).
    Précisions : entre le réseau "RES_A" et le réseau "RES_B" il y a une DMZ qui n'accepte que des fichiers. Donc une réplication/synchronisation des bases traditionnelle (communication directe entre les bases) ne fonctionnera pas.

    La question est comment faire ?

    Se baser sur un transfert des journaux de transactions de "BBD_A" vers "BDD_B" ne me parait pas judicieux vis-à-vis de la sécurité et de plus les TRN contiennent des instructions, comme les SELECT, qui ne seront pas utiles.

    Je pensais faire un DUMP des données différentielles de "BDD_A" entre t et t+60mn qui seraient transférées et importées dans "BDD_B" à t+60mn.

    Comment mettre en place cette dernière solution sachant que l'opération pourra soit se faire automatiquement toutes les 60mn (ou x mn) ou se faire à la demande (via une procédure stockée ?)

    Merci de votre aide

    Alf

  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 999
    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 999
    Billets dans le blog
    6
    Par défaut
    Le log shipping me parait la solution la plus adaptée... Mais cela suppose que la base B soit en lecture seulement... est-ce bien le cas ?

    Sinon effectivement faire une mise à jour différentielle en utilisant CDC...

    Première et importante question en quelle version/édition êtes vous ?

    => SELECT @@VERSION

    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/ * * * * *

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    @SQLpro :

    Oui, la BDD "B" sera en lecture seule (au besoin on créera un autre BDD sur le même serveur ou réseau que B).

    La version de SQL (bases "A" et "B") est : "SQL Server 2019 (RTM) 15.0.2000.5 (x64) Standard Edition on Windows Server 2019 10.0 (x64) build 17763)"

    Qu'est-ce que le log shipping ?
    Je viens de lire ton blog : https://blog.developpez.com/sqlpro/p...log_shipping_e qui fait référence aux TRN et que j'avais dans un premier jugé comme inappropriés (je débute en SQL et BDD).

    Du coup je suis obligé de préciser que :
    • le transfert de fichier est à sens unique du serveur A vers le serveur B ;
    • les bases A et B ne communiquent pas entre elles : elles ne se voient pas ;
    • la base B peut être lue par des utilisateurs à tout moment, elle ne sert pas comme sauvegarde de la base A : la base B est une réplique de la base A (à x mn près) ;
    • Le serveur A enverra les fichiers dans un répertoire partagé. Ce répertoire partagé sera scanné par un process pour être transféré dans la DMZ. Un autre process récupère les fichiers de la DMZ et les stocke dans un répertoire lui-même scanné pour récupération des fichiers par le serveur B qui les traitera.


    Mais en pratique, comment fait-on pour automatiser tout ça :
    1. pour exporter depuis SQL du serveur A : procédure stockée (quelles commandes utilisées...), Agent SQL ? Les deux me semblent bien : l'Agent pour automatiser et le script pour une exécution manuelle ponctuelle.
    2. pour importer dans SQL du serveur B : idem (script + Agent).



    Merci.

    Alf

  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 999
    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 999
    Billets dans le blog
    6
    Par défaut
    Il y a un assistant pour cela... Tente de voir avec !

    Nom : SQL Server assistant log shipping.jpg
Affichages : 145
Taille : 82,9 Ko

    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. Réponses: 6
    Dernier message: 03/02/2013, 23h23
  2. mise à jour table à partir d'une autre table
    Par k_boy dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/09/2010, 21h37
  3. Mise à jour des liaisons vers d'autres documents
    Par nath-0-0 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 02/06/2010, 15h35
  4. import de données d'une bdd vers une autre
    Par cedill23 dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/08/2009, 14h09
  5. Réponses: 2
    Dernier message: 04/05/2009, 09h00

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