Deux serveurs: sq009
et sq202
, tous deux exécutant SQL Server 2012 SP3.
sq202 est le serveur SQL hébergeant la base de données pour notre ERP, Sage 500 .
sq009 est le serveur SQL hébergeant la base de données pour notre instance IBM Maximo .
La situation: un déclencheur existe sur une table dans sq202, qui doit insérer une ligne dans la base de données sq009 lorsqu'une ligne est insérée dans la base de données sq202. Cependant, j'obtiens cette erreur dans la boîte de dialogue Sage 500 lorsque l'enregistrement est inséré:
L'opération n'a pas pu être effectuée car OLE fournisseur de base de données "SQLNCLI11" pour le serveur lié "sq009" n'a pas pu démarrer une transaction distribuée.
Le fournisseur OLE DB "SQLNCLI11" pour le serveur lié "sq009" a renvoyé le message "Le gestionnaire de transactions a désactivé sa prise en charge des transactions distantes/réseau.".
Les deux serveurs ont l'autre comme serveur lié; tous les deux ont toutes les connexions établies en utilisant un contexte de sécurité spécifié; les deux ont l'option serveur Activer la promotion des transactions distribuées pour RPC définie sur Faux .
J'ai confirmé que le service Distributed Transaction Coordinator est en cours d'exécution sur sq009 et défini ses autorisations de manière appropriée, je crois (même si je comprends que cela ne devrait pas être nécessaire):
mais sq009 se plaint toujours apparemment.
Essayez d'activer le DTC sur la boîte sq202, car c'est le serveur qui initie la transaction distribuée. Vous devrez également définir l'option Activer la promotion des transactions distribuées pour RPC sur Vrai pour le serveur lié sq009 situé sur la boîte sq202; lorsque cette option est VRAIE, l'appel d'une procédure stockée distante démarre une transaction distribuée et inscrit la transaction avec MS DTC.
Informations utiles sur les transactions distribuées T-SQL et les exigences: https://technet.Microsoft.com/en-us/library/ms191156 (v = sql.105) .aspx
Options de serveur lié: https://technet.Microsoft.com/en-us/library/ms186839 (v = sql.105) .aspx