Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Administration
Administration Forum d'entraide sur l'administration du dataserver, via SSM ou ligne de commande, les tables système, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/02/2011, 09h15   #1
Membre du Club
 
Développeur informatique
Inscription : mai 2009
Messages : 192
Détails du profil
Informations personnelles :
Localisation : Algérie

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mai 2009
Messages : 192
Points : 66
Points : 66
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 :
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.
kika10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 12h29   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 950
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 950
Points : 17 769
Points : 17 769
1) avez vous démarré le service DTC sur tous les serveurs ?
2) avez vous explicitement commencé une transaction avec la commande :
Code :
BEGIN DISTRIBUTED TRANSACTION
?

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2011, 11h56   #3
Membre du Club
 
Développeur informatique
Inscription : mai 2009
Messages : 192
Détails du profil
Informations personnelles :
Localisation : Algérie

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mai 2009
Messages : 192
Points : 66
Points : 66
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.
kika10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 14h56   #4
Membre du Club
 
Développeur informatique
Inscription : mai 2009
Messages : 192
Détails du profil
Informations personnelles :
Localisation : Algérie

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mai 2009
Messages : 192
Points : 66
Points : 66
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 :
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.
kika10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h07.


 
 
 
 
Partenaires

Hébergement Web