【发布时间】: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端口的流量,还没有成功...
标签: .net sql-server msdtc