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 :

[Fusion, débutant] Identifier serveurs Publication/Abonnés + accès ou non serveur Publication (C#)


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
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut [Fusion, débutant] Identifier serveurs Publication/Abonnés + accès ou non serveur Publication (C#)
    Bonjour,

    Je débute dans la Réplication et j'ai quelques questions pour peaufiner ma mise en oeuvre
    Mon sujet : application C#, base de données SQL Server 2008R2 ou plus, que je souhaite partager sur des laptops d'utilisateurs qui feraient évoluer les données sans être connectés au serveur de Publication ni à internet et qui pourraient synchroniser de temps en temps (par exemple des commerciaux qui au retour de "missions", réinjectent les données modifiées dans la base de données du serveur de Publication).

    Pour ce qui concerne les données SQL, je pense avoir cerné l'affaire (c'est très exagéré ) mais j'ai en parallèle des fichiers que je voudrais aussi synchroniser sans toutefois les inclure dans la base de données.
    Il s'agit par exemple de fichiers .jpeg ou .tif

    Dans mon idée, sur un serveur abonné, l'utilisateur stockerait dans un répertoire privé ces fichiers et, manuellement (clic sur un bouton dans l'application), transfererait ces fichiers vers un répertoire réseau public accessible à tous les serveurs (publication et abonné).
    Un utilisateur connecté au serveur de Publication choisirait lui (idem via un bouton dans l'application) de "traiter" ces nouveaux fichiers reçus dans ce répertoire réseau public.

    Pour mettre en place cette idée, je pense qu'il me faudrait accéder dans mon application C# à des informations telles que :
    • Suis-je un utilisateur connecté sur un serveur Abonné ou s'agit-il du serveur de Publication ? (peut-on par exemple le détecter à l'aide d'une requête SQL ?)
    • Si je suis sur un serveur Abonné, puis-je me synchroniser ? (c'est à dire la connexion est-elle possible avec le serveur de Publication ou suis-je en mode "déconnecté" ?)


    Je me doute que ces questions sont un peu "bancales" (voire pire , peut-être fais-je totalement fausse route ), mais je suis preneur de vos remarques/idées/conseils/expérience.

    Merci d'avance,
    JYves

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut
    Hello,

    Mon problème est-il si incongru ?
    Sinon, peut-être pourriez-vous m'aiguiller vers un autre forum ou site spécialisé dans la réplication (français ou anglais) où je pourrais poser mon problème ?

    Merci d'avance,
    JYves

  3. #3
    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
    C'est surtout pas du tout clair. Vous mélangez des traitement qui n'ont rien à voir avec de la réplication et la réplication de données intégrée à SQL Server.

    Si vous commenciez par le commencement en spécifiant votre besoin plutôt qu'une solution on pourrait vous aiguiller sur la meilleure solution...

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

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut
    Bonjour,

    Merci de votre réponse, je vais essayer d'être plus clair

    • J'ai une application C# client lourd, progiciel.
    • tous les utilisateurs accèdent à une base de données SQL Server 2008R2 ou plus.
    • une évolution prévue de mon application est que certains utilisateurs (laptops) puisssent l'utiliser temporairement sans pour autant être connectés au réseau (et donc pas d'accès à la base de données non plus).
    • pour cette utilisation "déconnectée", la réplication me semble un bon choix.
    • j'ai choisi la réplication de fusion car les données peuvent évoluer sur tous les postes des utilisateurs ("connecté" ou "non connecté").
    • je n'ai pour l'instant pas de problème avec la réplication des données (mais je débute seulement les tests).
    • Par contre, mon application permet aux utilisateurs de "lier" des photos à des données SQL: ce "lien" consiste à renseigner dans un champ varchar d'une table l'UNC de la photo. (IRL, l'utilisateur prend une photo dans la nature avec son APN, il stocke la photo sur son disque dur et dans l'application indique le lien UNC sur la table adéquate).
    • c'est là qu'est mon problème, quand l'utilisateur est dans la nature il est en mode "non connecté", le stockage des photos ne va pas se faire sur le réseau et je cherche donc une solution pour transférer ces photos (et modifier les liens UNC stockés en base de données) sur le réseau lorsque l'utilisateur va passer du mode "non connecté" au mode "connecté"


    Je ne sais pas si c'est plus clair mais j'ai essayé

    JYves

  5. #5
    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
    Citation Envoyé par JYves Voir le message
    'ai choisi la réplication de fusion car les données peuvent évoluer sur tous les postes des utilisateurs ("connecté" ou "non connecté").
    ATTENTION : prévoyez de résoudre les conflits de réplication sinon vous allez au devant de gros ennuis. Personnellement j'évite ce genre de réplication qui n'est généralement pas indispensable au profit de la réplication transactionnelle, seule apte à garantir l'intégrité logique des données.
    Par contre, mon application permet aux utilisateurs de "lier" des photos à des données SQL: ce "lien" consiste à renseigner dans un champ varchar d'une table l'UNC de la photo. (IRL, l'utilisateur prend une photo dans la nature avec son APN, il stocke la photo sur son disque dur et dans l'application indique le lien UNC sur la table adéquate).
    Pourquoi utiliser une solution aussi bourrin ? par masochismes ? Alors que vous pouvez au choix :
    1) mettre les photos dans des LOBs (type VARCHAR(max)) dans une table ou ils seront répliqués comme toute autre info
    2) utiliser un stockage FILESTREAM qui permet de stocker des fichiers sous le contrôle du serveur SQL. Ils seront aussi répliqués
    https://msdn.microsoft.com/fr-fr/lib...px#Replication
    3) utiliser une "filetable", même principe que le FILESTREAM, mais en plus générique

    [*]c'est là qu'est mon problème, quand l'utilisateur est dans la nature il est en mode "non connecté", le stockage des photos ne va pas se faire sur le réseau et je cherche donc une solution pour transférer ces photos (et modifier les liens UNC stockés en base de données) sur le réseau lorsque l'utilisateur va passer du mode "non connecté" au mode "connecté"
    Cette solution n'est pas viable, parce que pas intègre !

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

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut
    Bonjour,

    Merci beaucoup de votre réponse détaillée
    Je vais étudier vos propositions en détail et je reprendrai la discussion ensuite.

    JYves

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    ATTENTION : prévoyez de résoudre les conflits de réplication sinon vous allez au devant de gros ennuis. Personnellement j'évite ce genre de réplication qui n'est généralement pas indispensable au profit de la réplication transactionnelle, seule apte à garantir l'intégrité logique des données.
    J'ai reconsidéré mon choix à la lecture de votre avertissement.
    J'ai relu quelques documentations dont j'extrais ici quelques contraintes qui impactent mon choix de type de réplication :

    Je ne vois donc pas comment éviter la réplication de fusion
    Je n'avais pas prévu de gérer les conflits de réplication. Je pensais naïvement les laisser gérer par le serveur de publication. Il faudra que je me replonge là-dessus.
    Peut-être avez-vous des conseils quant à la gestion de ces conflits ou d'autres suggestions pour le type de réplication ?

    Je vais étudier vos propositions de stockage (BLOB, FILESTREAM, filetable) pour les images.

    Merci,
    JYves

Discussions similaires

  1. Serveur d'impression accès public
    Par Benat64 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 23/01/2012, 09h09
  2. Réponses: 4
    Dernier message: 04/04/2011, 09h08
  3. [apache] probleme d'accès à mon propre serveur
    Par sunfunfree dans le forum Apache
    Réponses: 6
    Dernier message: 15/02/2005, 16h16
  4. [Sybase] Accès Table sur serveur distant
    Par MashiMaro dans le forum Sybase
    Réponses: 5
    Dernier message: 11/02/2004, 14h09
  5. Accès impossible au serveur MySQL
    Par aliasjcdenton dans le forum Installation
    Réponses: 3
    Dernier message: 19/05/2003, 17h11

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