none
MSDTC in einem multiinstanz Failover Cluster Error RRS feed

  • Frage

  • Guten Abend,

    ich habe momentan folgendes Problem:

    Ein Windows Failovercluster mit insgesamt 7 SQL instanzen und jeweils einer availability group (AAG) incl. jeweils einem Listener der auf Port 1433 lauscht.

    Failover funktioniert einwandfrei und die DB´s werden korrekt angesprochen und synchronisiert.

    Die Herausforderung ist, dass ich für jeweils eine AAG einen Distributed Transaction Coordinator (MSDTC) brauche.

    Diesen habe ich geclustert und mit jeweils einer gemappten Platte versorgt.

    Das Problem ist, dass es bei einer Instanz (Dev) sehr gut funktioniert, auch der Schwenk zwischen den einzelnen Clusterhosts haut hin, aber...

    sobald ich eine andere Instanz / AAG schwenke, bricht der MSDTC ab und bringt folgende Fehlermeldung im SQL:

    QueryInterface failed for "DTC_GET_TRANSACTION_MANAGER_EX::ITransactionDispenser": 0x8004d01c(XACT_E_CONNECTION_DOWN).

    Ich ahbe es mit einem default MSDTC auf dem Cluster schon versucht, ebenfalls auch schon mit jeweils einem MSDTC pro Instanz und AAG. Mit Rule Bindung und ohne. Leider immer wieder ohne Erfolg.

    Meine Frage an unsere Experten hier in der Runde ist, wieso funktioniert es bei dem einen und bei den anderen nicht?

    Meine Umgebung ist ein Windows Server 2016 OS und ein SQL Server 2016 Enterprise auf beiden Hosts.

    Für jede Hilfe wäre ich super dankbar.

    Grüße Tom

    -------------------------------------------------------

    Translation:

    Good evening,

    I currently have the following problem:

    A Windows Failover Cluster with a total of 7 SQL instances and one availability group (AAG) each with a Listener listening on port 1433.

    Failover works flawlessly and the DB's are addressed and synchronized correctly.

    The challenge is that I need a Distributed Transaction Coordinator (MSDTC) for each AAG.

    I have clustered this and supplied each with a mapped disk.



    The problem is that it works very well on an instance (dev), even the failover between the individual cluster hosts flaunts, but ...

    as soon as I swivel another instance / AAG, the MSDTC aborts and brings the following error message in the SQL:

    QueryInterface failed for "DTC_GET_TRANSACTION_MANAGER_EX :: ITransactionDispenser": 0x8004d01c (XACT_E_CONNECTION_DOWN).

    I have already tried it with a default MSDTC on the cluster, also already with one MSDTC per instance and AAG. With Rule binding and without. Unfortunately again and again without success.

    My question to our experts here in the round is, why does it work for one instance and not for the other?

    My environment is a Windows Server 2016 OS and a SQL Server 2016 Enterprise on both hosts.

    I would be very grateful for any help.



    Greetings Tom

    Freitag, 15. März 2019 16:40

Antworten

  • The sollution was to switch on to a local DTC. We not using shared DTC´s n the future.
    • Als Antwort markiert Seidl Tom Dienstag, 4. Februar 2020 05:33
    • Bearbeitet Seidl Tom Dienstag, 4. Februar 2020 05:33
    Dienstag, 4. Februar 2020 05:33