MSDTC 异常
Posted
技术标签:
【中文标题】MSDTC 异常【英文标题】:MSDTC exception 【发布时间】:2013-03-14 13:39:01 【问题描述】:我曾经在我的应用程序中遇到以下异常,
无法从服务器获取服务器的分布式事务协调器的地址。服务器上是否启用了 DTC?
现在我需要捕获并处理异常,但无法重现异常。 谁能提供有关如何重现异常或提供异常类型/错误代码的输入。
由于我没有获取异常日志,所以无法获取异常类型/错误代码。
编辑
我尝试了以下场景,
场景 - DTC 服务停止时 错误信息
“服务器 'MyServ\SQL2005' 上的 MSDTC 不可用。” -
场景 - 为 DATABASE SERVER 中的 DTC 禁用网络访问时 错误信息
“合作伙伴事务管理器已禁用对远程/网络事务的支持。”
场景 - 当应用程序服务器中的 DTC 禁用网络访问时 错误信息
“事务管理器已禁用对远程/网络事务的支持。”
还尝试通过停止应用服务器/网络服务器中的 netbios,然后我收到以下错误,
由于通信问题,MSDTC 事务管理器无法从源事务管理器中提取事务。可能的原因是:存在防火墙并且它对 MSDTC 进程没有异常,两台机器无法通过它们的 NetBIOS 名称找到彼此,或者两个事务管理器之一未启用对网络事务的支持。
Stoppin 也尝试过停止 SQL 服务器和 MSDTC 服务。然后在启动 MSDTC 之前启动 SQL 服务器。 但无法重现我需要的错误消息。
【问题讨论】:
您是否尝试在测试服务器上禁用 MSDTC? 是的,我尝试在服务器中禁用,以下是观察结果,(我没有得到我需要的实际错误) 1. 场景 - 当 DTC 服务停止时 Message = "MSDTC on server 'DORADO\SQL2005' 不可用。” - 2. 场景 - 当在 DATABASE SERVER 消息中为 DTC 禁用网络访问时 =“合作伙伴事务管理器已禁用其对远程/网络事务的支持。” 3. 场景 - 当应用服务器中的 DTC 禁用网络访问时 Message = "事务管理器已禁用对远程/网络事务的支持。" +1 用于尝试重新创建错误 您可以尝试在 MSDTC 在该框的防火墙中使用的端口上明确禁用进入服务器的流量 - 我现在忘记了它的编号,但您可以用谷歌搜索它。 我尝试通过阻塞135端口的流量,还没有成功... 【参考方案1】:如果服务器的 IP 地址在交易处理过程中被更新,就会发生这种情况。
如果 DTC 服务在 SQL 服务之后启动,但您已经尝试过,也可能发生这种情况,所以我假设情况并非如此。
来源:http://social.msdn.microsoft.com/Forums/en-US/windowstransactionsprogramming/thread/c13d076d-e20c-421c-821f-a26bbae97a6a/
【讨论】:
以上是关于MSDTC 异常的主要内容,如果未能解决你的问题,请参考以下文章