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 :

Requêter sur 2 tables de deux bases différentes sur 2 serveurs différent


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Points : 123
    Points
    123
    Par défaut Requêter sur 2 tables de deux bases différentes sur 2 serveurs différent
    Bonjour tout le monde, j’ai un problème avec sqlserve, je veux créer des trigger entre deux bases sur deux serveurs différents (chaque serveur sur une machine), avant j’ai fais le teste entre deux bases différents mais toujours sur le même serveur et sur la même machine ça marche (j’ai fait mes requêtes sur Nom_base..nom_table et ça marche), maintenant la première base sur le poste1 et la deuxième base sur le poste2, les postes sont dans le réseau.
    Je ne sais pas comment faire pour requêter entre les deux base à distance, (j’ai partager le dossier data de sqlserver ou se trouve ma base, la connexion entre les deux poste fonctionne, je ne sais pas comment je mis l’@ j’ai essayé avec Serveur.Data.mabase..matable il m’affiche Le nom de objet 'serveur.DATA.mabase..matable ' contient plus de préfixes que le nombre maximal autorisé. Le nombre maximal est de 3.)
    Je ne sais pas comment faire ?

  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 865
    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 865
    Points : 53 021
    Points
    53 021
    Billets dans le blog
    6
    Par défaut
    question posée quelque milliers de fois.
    1) créer un serveur lié
    2) utiliser un nom complet étendu : serveur.base.schema.table

    A +

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 240
    Points : 210
    Points
    210
    Par défaut
    Serveur lié, peut-être, mais n'est-ce pas à procrire quand on les utilises avec un trigger.

    Supposons l'exemple suivant :

    On dispose d'un serveur A et d'un serveur B.
    Sur le serveur A, on a un trigger qui met à jour une table de serveur B.

    Imaginons que le serveur B tombe en panne, cela va avorter les transactions qui font appel aux trigger sur le serveur A.

    Ne serait-ce pas mieux d'utiliser Service Broker dans ce genre de situation ?

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Philippe Robert Voir le message
    Serveur lié, peut-être, mais n'est-ce pas à procrire quand on les utilises avec un trigger.
    Dans l'absolu, un trigger inter-base,, même sur le même serveur introduit un manque total de robustesse.

    En cas de mise hors ligne de la base destinatrice, il n'y a aucun moyen de catcher l'erreur résultante (le niveau d'erreur que peut catcher un bloc try/catch n'est pas compatible avec cette erreur) et on plante la transaction sur la première base.

    Ne serait-ce pas mieux d'utiliser Service Broker dans ce genre de situation ?
    En effet, suivant le besoin, queues SSB ou réplication transactionelle.

  5. #5
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Points : 123
    Points
    123
    Par défaut
    merci pour les réponses, Mais je ne sais pas c’est quoi un serveur lie et comment le créer ? Je travaille sur Windows server 2003 En, et sql server 2005.
    Merci a l’avance de votre aide.

  6. #6
    Membre chevronné 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 : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145

  7. #7
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Points : 123
    Points
    123
    Par défaut
    J’ai rien trouvé dans votre lien http://www.laissemoichercherca.com/?...inked%20server, c’est une page de google vide pour faire des recherches.

  8. #8
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Citation Envoyé par kika10 Voir le message
    J’ai rien trouvé dans votre lien http://www.laissemoichercherca.com/?...inked%20server, c’est une page de google vide pour faire des recherches.
    clique directement sur le lien donné par Jinroh77

  9. #9
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Points : 123
    Points
    123
    Par défaut
    Oui c’est exactement ce que j’ai fait mais toujours une page goolge vide pour faire des recherches.

  10. #10
    Membre chevronné 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 : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    ...
    Utilise cette page alors.

  11. #11
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Points : 123
    Points
    123
    Par défaut
    Ok merci, je développe le server objects puis sur linked Servers, je clique sur new inked Server, puis je ne sais pas comment je contenu est ce que j’utilise sur le type server SQL Server ou bien other data source ?
    En plus je n’arrive pas à faire l’odbc entre les deux servers de base.
    Merci.

  12. #12
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Points : 123
    Points
    123
    Par défaut
    Bonjour, j’ai trouvé la requête pour créer le serveur lie sur cette page : http://www.developpez.net/forums/d78...n-serveur-lie/

    Mais maintenant quand je fais ma requête il m’affiche le message d’erreur suivant :

    Le fournisseur OLE DB 'SQLNCLI' du serveur lié 'SRVLIE' a retourné le message 'Une erreur s'est produite lors de l'établissement d'une connexion au serveur. Lors de la connexion à SQL Server 2005, cet échec peut être dû au fait que les paramètres par défaut de SQL Server n'autorisent pas les connexions à distance.'.

    Comment configurer le sql server 2005 pour qu’il accepte les connexions à distance.

    Merci.

  13. #13
    Membre chevronné 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 : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Il faut configurer votre serveur avec cela par exemple.

  14. #14
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Points : 123
    Points
    123
    Par défaut
    Oui j'ai activé le protocole TCP/IP j’ai même suivais les étapes dans ce lien : http://support.microsoft.com/kb/914277/fr , m’ai tjr le mm message :

    Le fournisseur OLE DB 'SQLNCLI' du serveur lié 'SRVLIE' a retourné le message 'Délai d'attente de connexion expiré'.
    Le fournisseur OLE DB 'SQLNCLI' du serveur lié 'SRVLIE' a retourné le message 'Une erreur s'est produite lors de l'établissement d'une connexion au serveur. Lors de la connexion à SQL Server 2005, cet échec peut être dû au fait que les paramètres par défaut de SQL Server n'autorisent pas les connexions à distance.'.
    Msg 10061, Level 16, State 1, Line 0
    Fournisseur TCP : No connection could be made because the target machine actively refused it.

  15. #15
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Points : 123
    Points
    123
    Par défaut
    Désolé l’équipe mais je pense que le problème est dans la création du server lie par ce que moi j’utilise un Windows authentication, et dans le lien que j’ai trouvé (http://www.developpez.net/forums/d78...n-serveur-lie/) il y’a un exemple pour sql server authentication, j’ai créer mon server lie par cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    EXEC sp_addlinkedserver 
    	@server = 'SRVLIE', 
    	@srvproduct = '',
    	@provider = 'SQLNCLI', 
    	@datasrc = 'SERVEUR'
    IL m’affiche: Command(s) completed successfully.

    Mais qaund je fait ma requete j’ai le message suivant :

    Msg 7313, Level 16, State 1, Line 1
    Un schéma ou un catalogue non valide a été spécifié pour le fournisseur 'SQLNCLI' du serveur lié 'SRVLIE'.
    Je ne sais pas comment créer un server lie avec une Windows authentication ?
    Merci.

  16. #16
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 865
    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 865
    Points : 53 021
    Points
    53 021
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    EXEC master.dbo.sp_addlinkedserver 
        @server = N'MonServer\MonInstance', 
        @srvproduct=N'SQL Server';
    GO
    EXEC master.dbo.sp_addlinkedsrvlogin 
         @rmtsrvname=N'MonServer\MonInstance',
         @useself=N'True',
         @locallogin=NULL,
         @rmtuser=NULL,
         @rmtpassword=NULL;
    GO

    A +

  17. #17
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Points : 123
    Points
    123
    Par défaut
    Meeeeeeeeeeeeeeeeeeeeerci SQLpro pour le code, mais SVP vous pouvez m’expliqué ces paramètres par ce que ça n’a pas marché, merci à vous.

  18. #18
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Points : 123
    Points
    123
    Par défaut
    Bonjour, voici ma requête utilisée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    use master 
    go 
    EXEC sp_addlinkedserver   
       @server=N'Servlie', 
       @srvproduct=N'',
       @provider=N'SQLNCLI', 
       @datasrc=N'SERVEUR\Mabase'
    go
    EXEC master.dbo.sp_addlinkedsrvlogin 
         @rmtsrvname=N'Servlie',
         @useself=N'True',
         @locallogin=NULL,
         @rmtuser=NULL,
         @rmtpassword=NULL;
    Notant que SERVEUR c’est le nom d’instance de sql server à distance.

    Voici le résultat Apres l’exécution:
    « Command(s) completed successfully »,
    mais en revanche si je fais ma requête de sélection (ex : select * from Servlie...matable), voici le résultat affiché :

    Interfaces réseau SQL : Erreur lors de la localisation de Server/Instance spécifié [xFFFFFFFF].

    Merci.

  19. #19
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Points : 123
    Points
    123
    Par défaut
    Bonjour tout le monde, ça marche mais avec sql server authentication avec Windows authentication je pense que ça ne marche pas, est ce que il y’a quelqu’un qui a essayé avec Windows authentication ?
    Merci.

  20. #20
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Points : 123
    Points
    123
    Par défaut
    Bonjour toute le monde, maintenant un autre problème s’apparaîtra, le serveur lie est crée tout est marche si je fait des requêtes (select, insert…) à l’aide du serveur lie tout est marche, par contre si je crée un trigger entre deux bases à distance, quand le trigger se déclanche il m’affiche une erreur
    le fournisseur OLE DB 'SQLNCLI' du serveur lié 'SERVEUR' n'a pas réussi à démarrer une transaction distribuée.
    Le fournisseur OLE DB 'SQLNCLI' du serveur lié 'SERVEUR' a retourné le message 'The partner transaction manager has disabled its support for remote/network transactions.'
    et l’opération de mise à jour s’arrêtera.
    Merci l’équipe.

Discussions similaires

  1. [MySQL] Requête sur 2 tables dans 2 bases différentes
    Par newbie127 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/09/2012, 14h55
  2. Joindre des tables de deux bases de données différentes
    Par jf1985 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/09/2007, 12h23
  3. Réponses: 3
    Dernier message: 24/09/2007, 11h54
  4. supprimer un lien entre deux tables d deux bases différente
    Par laurent.w dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/01/2007, 11h41
  5. Réponses: 14
    Dernier message: 04/12/2006, 11h22

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