Implementing HA for SQL Server for a .NET Application that uses MS DTC My production environment uses MS DTC and SQL Server 2014. I must have an HA solution such as Mirroring or AG in place. (Not FCI). 

I am trying to explain to my team that MS DTC is not supported by SQL Server with Mirroring / AG and what could go wrong. But all the examples I am seeing online are for cross database scenarios, which doesn't apply to us. 

I am looking for a worst case scenario &amp; likelihood of its occurrence. Ideally something that I could actually demonstrate to them. ie: creating a transaction that uses MS DTC, triggering a failover, showing what happens. 

As a DBA, I would like to be able to explain to the business what are the real world implications of this lack of support for MS DTC from Microsoft, so that they can decide if the risk is worth the cost of:


Upgrading SQL Server to 2016 &amp; AGs and/or
Changing how their application relies on MS DTC (I am told this is impossible). 


I don't want to just parrot "Not supported" to them because that's unacceptable.

Any help appreciated.
Here is the most complete official-ish statement available about the risks and consequences of using DTC in an unsupported configuration with AGs:


  This means you could test a cross database transaction, force failover
  and everything work fine.   Test again it fails.   It could
  be as simple as the controlling DBID changes on the secondary and the
  outcome of the cross-database transaction can’t be properly
  determined.
  
  For Availability Groups you should avoid the use of DTC and
  cross-database transactions.  Relying or using them could manifest as
  a problem with the database recovery activities and that is certainly
  not what you want in a HADR environment.


https://blogs.msdn.microsoft.com/alwaysonpro/2014/01/06/not-supported-ags-with-dtccross-database-transactions/

Note that all use of DTC with AGs was unsupported in SQL 2014 and before.  In SQL 2016 support was added for DTC transactions not involving multiple databases on the same instance.  In SQL 2017 that restriction was removed.