您的位置:首页 > 其它

关于事务不可用的分析及处理

2014-12-25 10:01 169 查看
一、出错情况

对COM组件的调用返回了错误HRESULT E_FAIL

该伙伴事务管理器已经禁止了它对远程/网络事务的支持。(异常来自 HRESULT:0x8004D025)

二、原因分析

与事务有关,WEB服务器和DB服务器不是同一部机器。最近有更换过数据库服务器,可能是缺少与事务相关的配置。

三、处理方案

在DB服务器上进行以下操作步骤:

1. 单击“开始”,指向“控制面板”,然后单击“添加/删除程序”。 

2. 单击“添加/删除 Windows 组件”。 

3. 选择“应用程序服务器”,然后单击“详细信息”。 

4. 选择“启用网络 DTC 访问”,然后单击“确定”。 

5. 单击“下一步”。 

6. 单击“完成”。 

7.检查MSDTC设置是否正确. 

   1)打开命令提示,运行"net stop msdtc"停止服务,然后运行"net start msdtc"启动服务。 

   2)转至"管理工具〉组件服务〉组建服务〉我的电脑〉点击右键进行设置"。 

     确保选中了下列选项: 网络 DTC 访问 

   网络管理 

   网络事务 

   XA 事务 

   另外,"DTC 登录帐户"一定要设置为"NT Authority\NetworkService"。 

   3)单击"确定"。这样将会提示您"MS DTC 将会停止并重新启动。 

   所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。 

   4)单击"确定"关闭"我的电脑"属性窗口。

8.关闭网络防火墙(或者开放相应的端口135)

四、执行结果

最终是正常了。

但是有个过程有点奇怪:

重启了数据库服务器的数据库服务,没有重启数据库服务器;

重启了WEB服务器的IIS,重启了WEB服务器。

当天晚上处理过后执行28字配置功能还是出现同样的错误提示。

第二天操作28字配置功能和复制角色集、申请审核商家等涉及事务的功能都正常。

有个猜测是可能跟配置的生效时间有关,当时没有重启数据库服务器,如果重启有可能就生效了。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  事务 异常