MSDTC例外

时间:2013-03-14 13:39:02

标签: .net sql-server msdtc

我的应用程序中出现了以下异常,

  

无法从服务器获取服务器的分布式事务协调器的地址。是否在服务器上启用了DTC?

现在我需要捕获并处理异常,但无法重现异常。 任何人都可以提供有关如何重现异常或提供异常类型/错误代码的输入。

由于我没有收到异常日志,因此无法获取异常类型/错误代码。

修改

我尝试了以下方案,

  1. 场景 - DTC服务停止时 错误消息

      

    “服务器上的MSDTC'MyServ \ SQL2005'不可用。” -

  2. 场景 - 在DATABASE SERVER中禁用DTC的网络访问时 错误消息

      

    “合作伙伴事务管理器已禁用其对远程/网络事务的支持。”

  3. 场景 - 在应用程序服务器中禁用DTC的网络访问时 错误消息

      

    “事务管理器已禁用其对远程/网络事务的支持。”

  4. 还尝试停止app server / webserver中的netbios,然后我收到以下错误,

      

    由于通信问题,MSDTC事务管理器无法从源事务管理器中提取事务。可能的原因是:存在防火墙且MSDTC进程没有例外,两台计算机无法通过其NetBIOS名称找到对方,或者两个事务管理器之一未启用对网络事务的支持。

  5. 还尝试使用Stoppin SQL Server和MSDTC服务。然后在启动MSDTC之前启动SQL服务器。 但无法重现我需要的错误消息。

1 个答案:

答案 0 :(得分:2)

如果在处理事务期间更新服务器的IP地址,则会发生这种情况。

如果DTC服务在SQL服务之后启动但是你已经尝试过,我也假设情况并非如此。

来源:http://social.msdn.microsoft.com/Forums/en-US/windowstransactionsprogramming/thread/c13d076d-e20c-421c-821f-a26bbae97a6a/