We have an application that uses MSDTC (Microsoft Distributed Transaction Coordinator) to wrap multiple calls to a database. In between these database calls, the application also moves files from one network share to another.
Setting aside the obvious design problems with this approach (long-running file manipulation occurs in the middle of a database transaction)...
I'm troubleshooting an error where the transaction was rolled back after the file movement occurred, but the files cannot be found on the destination network share. Is it possible that this file movement is tracked as part of the MSDTC transaction, and undone when the transactions is rolled back?
Any insight would be greatly appreciated!