serveur lié : “Aucune transaction est active.” et “impossible de démarrer une transaction distribuée”
J'ai un logiciel de CRM sur ma machine locale. Dans le SQL base de données du logiciel, j'ai ajouté un serveur lié (notre test de site web avec notre essai DB: Windows Small Business Server 2011).
Le serveur lié est défini comme
RPC => True
RPC Out => True
Enable Promotion of Distributed Transaction => True
J'ai créé un déclencheur de sorte que quand une entreprise est mis à jour via le logiciel de CRM, il lance une procédure stockée, telles que:
proc [dbo].[Proc_UpdateInstitutionWeb]
@Company_ID nvarchar(50)
as
DECLARE @id int = 0;
BEGIN TRY
SET @id = CONVERT(int, @Company_ID)
END TRY
BEGIN CATCH
...
END CATCH
update [myserver].[mydatabase].[dbo].[company]
set founded = 2000
where company.id= @id
Cela ne fonctionne pas quand je fais le changement dans le CRM. Alors, j'ai essayé une mise à jour simple requête sur la table de la société dans le CRM SQL DB, mais il met l'erreur suivante:
OLE DB provider "SQLNCLI10" for linked server "myserver" returned message "No transaction is active.".
Msg 7391, Level 16, State 2, Procedure Proc_UpdateInstitutionWeb, Line 34
The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "myserver" was unable to begin a distributed transaction.
Voici ce que j'ai essayé de faire:
Sur mon ordinateur et le serveur de test:
- Dans outils d'administration -> Services> Coordinateur de Transactions Distribuées :
démarré les services - Dans outils d'administration -> Services de Composants ->
Ordinateurs -> Mon Ordinateur -> Distributed Transaction Coordinator ->
Local DTC -> Clic Droit -> Onglet Sécurité -> vérifié réseau DTC
L'accès et Permettre à des Clients distants et autoriser les connexions entrantes et sortantes. - Enfin j'ai redémarré le serveur de test
Rien de tout cela a résolu le problème. Que dois-je faire?
merci
Vous devez vous connecter pour publier un commentaire.
Après de nombreux jours à perdre mes cheveux, voici ce qui a fonctionné pour moi, au cas où quelqu'un en a besoin.
J'ai d'abord désactivé automatique de l'adresse 6to4 génération.
Puis j'ai restreint la plage de port DCOM sur les deux machine
Je pense que tous les travaux antérieurs sur le DTC dans le
Component services
etServices
est également nécessaire d'avoir ce travail.J'ai fini avec cette solution de travail avec DTCPing.exe et les références suivantes: