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

Administration SQL Server Discussion :

Activé les transactions par le fournisseur OLE DB "SQLNCLI"


Sujet :

Administration 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 Activé les transactions par le fournisseur OLE DB "SQLNCLI"
    Bonjour tout le monde, j’ai un problème avec sql server 2008 R2, je veux créer des trigger entre deux bases sur deux serveurs différents (chaque serveur sur une machine).
    Serveur 1: windows server 2008 64bits;
    Serveur 2 : windows server 2008 32bits.
    j'arrive a me connecte a partir de serveur 2 a l'instance de serveur1.
    j'ai crée un serveur lie, et tout marche bien, j'ai fais une requète select, et tout vas bien, mais quand me trigger va se déclenche, il m'affiche une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    le fournisseur OLE DB "SQLNCLI" du serveur lie "mon serveur lie" n'a pas réussi a démarrer une transaction distribuée. 
    le fournisseur OLE DB "SQLNCLI" du serveur lie "mon serveur lie" a retourné le message"aucun transaction n'est active"
    dans le TCD local j'ai coché Accès DTC réseau, autoriser les transaction entrantes et sortantes, authentication mutuelle et j'ai désactivé Activer les transactions XA, j'ai vu dans les processus la transaction est démarrer.

    j'ai même suivant les étapes décrites dans ce lien :


    mais toujours la même erreur, je ne sais pas comment faire ?
    Merci.

  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 760
    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 760
    Points : 52 541
    Points
    52 541
    Billets dans le blog
    5
    Par défaut
    1) avez vous démarré le service DTC sur tous les serveurs ?
    2) avez vous explicitement commencé une transaction avec la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BEGIN DISTRIBUTED TRANSACTION
    ?

    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 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,
    merci SQLpro
    1. oui le service DTC est démarré sur tous les serveurs.
    2. j’n’ai pas fait la commande pour commencer une transaction, as ce que c'est obligatoire cette commande ? par ce que j'ai déjà fait ce teste sur Windows server 2003 et sql server 2005, et dans mon trigger j'ai pas démarrer aucun transaction, et ça marche je ne sais pas comment? mais le trigger se déclanche et s'exécute normalement.

    Merci beaucoup.

  4. #4
    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,
    @SQLpro: meme si je commence la transaction explicitement c'est toujours le meme message.

    j'ai refait le teste sur Server 2003, sql server 2005 et server 2008, sql server 2008:

    j'ai vérifié que le service DTC est démarré sur les deux serveurs, j'ai même démarré les transaction explicitement (par la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BEGIN DISTRIBUTED TRANSACTION
    ), mais toujours ça marche pas.

    mais quand j'ai modifié la valeur des registres de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC.
    TurnOffRpcSecurity à 1, AllowOnlySecureRpcCalls à 0, et FallbackToUnsecureRPCUfNecessary à 0, ça marche j'ai redémarre mon PC et toujours ça marche.
    le lendemain j'ai allumé mon PC et le problème des transactions a revenu.

    mais quand j'ai accédé au base des registre j'ai trouvé q'il a gardé toujours les modifications, mais quand j'accède en mode modifications et je remets toujours les les même valeurs des registres et je mis ok, apres ça marche!!!!!!!!!!!!!!!
    je ne sais pas pourquoi?
    notons que sur le server 2008 64bit ça marche pas même si je change la valeur des registres.

    Merci.

  5. #5
    Membre du Club
    Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par kika10 Voir le message
    bonjour,
    @SQLpro: meme si je commence la transaction explicitement c'est toujours le meme message.

    j'ai refait le teste sur Server 2003, sql server 2005 et server 2008, sql server 2008:

    j'ai vérifié que le service DTC est démarré sur les deux serveurs, j'ai même démarré les transaction explicitement (par la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BEGIN DISTRIBUTED TRANSACTION
    ), mais toujours ça marche pas.

    mais quand j'ai modifié la valeur des registres de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC.
    TurnOffRpcSecurity à 1, AllowOnlySecureRpcCalls à 0, et FallbackToUnsecureRPCUfNecessary à 0, ça marche j'ai redémarre mon PC et toujours ça marche.
    le lendemain j'ai allumé mon PC et le problème des transactions a revenu.

    mais quand j'ai accédé au base des registre j'ai trouvé q'il a gardé toujours les modifications, mais quand j'accède en mode modifications et je remets toujours les les même valeurs des registres et je mis ok, apres ça marche!!!!!!!!!!!!!!!
    je ne sais pas pourquoi?
    notons que sur le server 2008 64bit ça marche pas même si je change la valeur des registres.

    Merci.

    Après des recherches, je me suis simplement aperçu que ce problème était lié au pare feu sur le serveur recevant le résultat de la transaction (pas le serveur lié).
    Il m'a fallu ouvrir simplement le port 50100 en entrée, et le problème était résolu !
    Pour cela, il faut aller dans les propriétés avancées du pare feu et autoriser le port 50100, ou utiliser une ligne de commande comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    netsh.exe advfirewall firewall add rule name="Transaction distribuée pour SQLNCLI" protocol=TCP dir=in localport=50100 action=allow
    En espérant que cela sorte de la galère les gens qui cherchent !!

    A+

    Fabrice

Discussions similaires

  1. [XL-2003] Ouvrir par macro un document sans activer les macros de ce dernier
    Par JM741 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/08/2012, 15h10
  2. Activer les Références par VBA Excel
    Par coyote90 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/06/2012, 16h13
  3. [XL-2007] Activer les Références par VBA Excel
    Par chafik2000 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/05/2012, 12h17
  4. Réponses: 3
    Dernier message: 28/04/2011, 09h29
  5. [Petite requête] Nombre de transactions par jour
    Par Braim dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/04/2003, 10h53

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