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

Développement SQL Server Discussion :

DTC entre SERVER 2008 et SERVER 2005 [2008R2]


Sujet :

Développement SQL Server

  1. #1
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut DTC entre SERVER 2008 et SERVER 2005
    Bonjour à tous,
    J'ai eu beau parcourir ce forum et trouver des discussions intéressantes concernant mon problème, je n'arrive toujours pas à le résoudre.
    Je souhaite pouvoir insérer des données d'une base d'un serveur SQL 2008 R2 dans une autre base d'un serveur SQL 2005.
    J'ai donc configuré mon DTC Local sur mes deux serveurs et le service MSDTC tourne bien sur les deux serveurs.
    Problème, lorsque ma procédure stockée s'exécute sur mon serveur 2008 j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le fournisseur OLE DB "SQLNCLI10" du serveur lié "monServeur2005" a retourné le message "Aucune transaction n'est active.".
    J'ai pourtant activé (il me semble) les transactions distribuées sur mes deux serveurs.
    Un extrait de ma procédure stockée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BEGIN DISTRIBUTED TRANSACTION
    INSERT INTO [nomServeur2005].[maBase].[dbo].[maTable] (nomColonne) values (maValeur);
    Est-ce que quelqu'un peut m'aider à ce sujet ?
    Merci d'avance!

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Il peut y avoir plusieurs causes à cette erreur mais commençons par le début :

    - As-tu activé MSDTC sur tes 2 serveurs ?
    - Est-ce que tes 2 serveurs sont dans le même domaine ?
    - As-tu fait un test avec DTCPing ?
    - As-tu paramétré quelque chose de spécifique au niveau du DTC ?

    ++

  3. #3
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Bonjour, désolé de ne répondre un peu tard mais formation oblige...
    J'ai résolu mon problème en réinstallant le service MSDTC sur chaque serveur.
    Voici ma config et ce que j'ai fais, ça pourra peut-être servir pour quelqu'un et ça va répondre à tes questions mikedavem:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    - As-tu activé MSDTC sur tes 2 serveurs ? 
        -> Oui, service activé sur les 2 serveurs
    - Est-ce que tes 2 serveurs sont dans le même domaine ?
        -> Oui, 2 serveurs virtuels sur même domaine
    - As-tu fait un test avec DTCPing ? 
        -> Oui, test OK mais avec un message concernant la value du CID identique sur les deux serveurs.
    - As-tu paramétré quelque chose de spécifique au niveau du DTC ?
        -> Non, paramétrage standard
    Suite au résultat du test avec DTCPing, j'ai donc fait un uninstall/install du service sous dos sur chaque serveur, un redémarrage des deux serveurs et à nouveau un DTCPing qui s'est exécuté correctement sans message d'erreur.
    Le problème semble donc bien venir du CID du service qui avait la même valeur sur les 2 serveurs.
    Encore merci mikedavem de ton intérêt porté sur mon problème

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Ok je suppose que les machines virtuelles ont été clonées ?

    Si c'est le cas normal d'avoir eu ce problème ... le SID du service étant dupliqué pour le coup :-)

    ++

  5. #5
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Bonjour,
    je me permet de ré-ouvrir cette discussion car je rencontre un nouveau dont voici le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le contexte de transaction est utilisé par une autre session
    La communication dans le sens sql 2008 -> sql 2005 se passe bien en revanche c'est dans le sens inverse sql 2005 -> sql 2008 que je rencontre cette erreur...
    Quelqu'un peut-il m'aider ?
    Merci d'avance!

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 924
    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 924
    Points : 51 730
    Points
    51 730
    Billets dans le blog
    6
    Par défaut
    La question à vous poser est : est-te vous obligé de faire des transaction distribuées ?
    Car pour rappel, la transaction distribuée n'a aucune possibilité de garantie de bonne fin...
    Lisez l'article que j'ai écrit à ce sujet.
    Peut être pouvez vous faire de l'asynchrone transactionné localement avec service broker ?

    A +

  7. #7
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    En fait j'ai deux applications web qui fonctionnent donc sur deux serveurs différents. Mon soucis est de pouvoir faire communiquer ces deux applications comme si c'était la même base.
    Par exemple, la mise en place d'un question/réponse avec un affichage chronologique des différentes saisies. Une personne utilisant l'application A doit pouvoir répondre instantanément à une autre réponse utilisant l'application B.
    Je ne peux pas non plus passer par une tâche planifiée avec l'agent SQL ne pouvant pas mettre en place un délais d'exécution...
    Les transactions distribuées ne sont peut-être pas la meilleure solution mais j'avoue que j'en ai pas trouvé d'autre, du moins avec mes connaissances sql.
    Si vous avez une meilleur solution je suis preneur

  8. #8
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Est-ce que tu utilises MARS ?

    ++

  9. #9
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Non j'avoue que je ne connais pas MARS
    Je vais regarder comment ça fonctionne histoire de voir si je peux résoudre mon pb.
    Sinon je crois que je vais basculer ma première base qui est en 2005 sur mon serveur SQL 2008 ce qui devrait simplifier grandement et résoudre normalement mon pb.
    Je vous tiens au courant !

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 924
    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 924
    Points : 51 730
    Points
    51 730
    Billets dans le blog
    6
    Par défaut
    Effectivement, dans ce cas vous n'aurez plus aucun problème !

    A +

  11. #11
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Bon, j'ai finalement basculé ma première base qui était en 2005 sur mon serveur sql 2008 ce qui résout effectivement mon problème.
    Mes deux bases étant sur le même serveur et avec la même version, ça facilite grandement les choses...
    Du coup plus besoin de transaction distribuée ce qui n'est pas un mal
    Encore merci à tous!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réplication sql server 2008 ->sql server 2008 express
    Par Satanas_et_diabolo dans le forum Réplications
    Réponses: 1
    Dernier message: 21/09/2012, 11h46
  2. SQL Server 2008 link server avec SQL Server 2005
    Par Herlece dans le forum Développement
    Réponses: 2
    Dernier message: 25/04/2012, 12h19
  3. Confguration IIS sur Windows Server 2008 et SQL 2005
    Par jpigrec dans le forum Serveurs (Apache, IIS,...)
    Réponses: 5
    Dernier message: 27/01/2009, 11h57
  4. mémoire migration server 2003 vers server 2008
    Par zen28150 dans le forum Sujets
    Réponses: 2
    Dernier message: 03/11/2008, 18h02
  5. [VS 2005] Projet SQL SERVER 2008 sous VS 2005 PRO
    Par FRED.G dans le forum Visual Studio
    Réponses: 0
    Dernier message: 24/08/2008, 17h54

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