Hello Charles Thivierge,
The error you’re seeing with MSDTC when NTLM is disabled is a classic Kerberos delegation problem. Even though sys.dm_exec_connections shows KERBEROS for the SQL session itself, MSDTC requires Kerberos at the RPC layer between the DTC service on the calling server and the DTC service on the target SQL server. If delegation is not properly configured, the Kerberos handshake fails, and with NTLM disabled, there is no fallback, resulting in Event ID 4879 and HR=0x80004005.
The key here is that Kerberos for DTC is not just about having SPNs registered for SQL. You must also have SPNs registered for the MSDTC service itself, and the accounts involved must be trusted for delegation. Specifically, the machine accounts of the SQL servers and the calling servers need to be configured in Active Directory with “Trust this computer for delegation to any service (Kerberos only)” or constrained delegation to the MSSQLSvc and MSDTC SPNs. Without this, the DTC handshake will fail even though the SQL connection reports Kerberos.
Check that the following SPNs exist and are registered against the correct service accounts or machine accounts:
- MSDTC/<hostname>
- MSDTC/<hostname.domain>
Also confirm that the Distributed Transaction Coordinator service is running under NT AUTHORITY\NetworkService or a domain account with proper delegation rights. If it’s running under NetworkService, the SPNs must be registered against the machine account in AD.
Finally, ensure that the firewall allows RPC dynamic ports between the servers, and that the DTC security settings (dcomcnfg > Component Services > Computers > My Computer > Distributed Transaction Coordinator > Local DTC > Security) are aligned. For Kerberos, “Mutual Authentication Required” must be enabled, and “Allow Inbound/Outbound” must be checked.
I hope you've found something useful here. If it helps you get more insight into the issue, it's appreciated to accept the answer. Should you have more questions, feel free to leave a message. Have a nice day!
Domic Vo.