0

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!

Nate Sauber
  • 1,118
  • 2
  • 10
  • 26
  • More likely, an exception is occurring before the files are copied and the copy code never executes. – Erik Funkenbusch Oct 08 '12 at 19:40
  • I've traced the log messages through the code and verified that the file movement completed successfully. – Nate Sauber Oct 08 '12 at 19:49
  • What server is this running on? Recent Windows Server versions support a transactional file system, which might possibly have enrolled in your ambient transaction. – John Saunders Oct 08 '12 at 19:54
  • Transactional TFS is only local. It won't be transactional on network shares. – Steven Oct 08 '12 at 20:10
  • @Nate: I'm sorry. I can't back this up with online proof. I simply never read anything that might imply that MSDTC works over network shares. – Steven Oct 09 '12 at 07:41

0 Answers0