Configurazione MSDTC

Corretta configurazione del componente MSDTC su cluster con SQL Server 2016

Da qualche giorno ho cominciato a configurare i server per la nuova infrastruttura SQL Server 2016 , ma collaudandoli poco prima di metterli in produzione mi sono accorto che i log erano pieni di questo errore :

Resource Manager Creation Failed: 0x8004d102(XACT_E_DUPLICATE_GUID)

E le componenti DTC non funzionavano correttamente .

Dopo una macro analisi preliminare , la mia idea del problema fosse che l’evento venisse generato da un conflitto di GUID .

Lo scenario :
4 nodi windows server 2012 e 2 istanze SQL Server 2016 Enterprise Edition , installate 2 compoenti DTC , una per ogni istanza .

La mia esperienza nell’installazione di cluster SQL Server è decennale e non mi era mai capitato prima di ora di vedere questo tipo di errore , come dicevo dopo una prima analisi ero giunto alla conclusione che il problema fosse legato ad un installazione fatta da clone e dipendesse direttamente da una qualche chiave dentro al registry di sistema.

 

Dovendo adare a breve in produzione decido di chiamare il supporto Tecnico di Microsoft che dopo una prima analisi dichiara che il problema non è legato a SQL Server ma bensì all’infrastruttura cluster , quindi vengo reindirizzato ad un nuovo tecnico che si occuopa del cluster , il quale a sua volta cerca uno specialista del DTC .

A questo punto si evince che il problema è una mancata mappatura dei servizi DTC verso le istanze . In tanti anni non avevo mai eseguito questo tipo di configurazione , eppure i sistemi funzionavano correttamente forse la combinazione SQL Server 2016 con Windows Server 2012 è più sensibile a questo tipo di configurazione.

msdtc -tmMappingSet -name nome da mappare-service MSSQL$nomeistanza -clusterResourcename “nome della risorsa dtc”

comando per la mappatura

msdtc -tmMappingView *

comando per visionare la mappatura

Dopo aver eseguito questa configurazione aggiuntiva l’errore è sparito e i servizi DTC hanno cominciato a lavorare senza alcun problema.

Adesso nel protocollo di installazione dei cluster microsoft ho aggiunto questa nota per ricordarmi che le istanze che eseguono transazioni distribuite hanno bisogno di questo tipo di configurazione.

Per approfondimenti a questo link :
https://blogs.msdn.microsoft.com/alwaysonpro/2014/01/15/msdtc-recommendations-on-sql-failover-cluster/

Quirino Scaramastra

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...