使用BizTalk Server的Sql适配器出现“新事务不能登记到指定的事务处理器中”异常的处理

作者:郑佐   
时间:2006-6-26
在做BizTalk项目的时候,BizTalk Server和Sql Server不在同一台计算机上,使用SQL适配器发送数据提示“新事务不能登记到指定的事务处理器中”的错误,同样的问题在添加SQL适配器元数据时也会提示“无法执行SQL语句。请确保提供的语法正确。新事务不能登记到指定的事务处理器中。”查了一下资料这是MSDTC中的设置不当引起的。
在相关的每台计算机上进行如下操作,下面是在Windwos Server 2003上的操作步骤,
1.    单击“开始”,指向“控制面板”,然后单击“添加或删除程序”。
2.    在“添加或删除程序”对话框中,单击“添加/删除 Windows 组件”。
3.    在“Windows 组件”页上,选择“应用程序服务器”,然后单击“详细信息”。
4.    选择“启用网络 COM+ 访问”,单击“确定”,然后单击“下一步”。
5.    在“完成 Windows 组件向导”页上,单击“完成”。
6.    关闭“添加或删除程序”对话框。
7.    单击“开始”,依次指向“所有程序”、“管理工具”,然后单击“组件服务”。
8.    展开“组件服务”,然后展开“计算机”。
9.    右键单击“我的电脑”,选择“属性”,然后单击“属性”。
10.    选择“MSDTC”选项卡,然后单击“安全配置”。
11.    在“安全设置”窗格中,选中以下选项:
        •    网络 DTC 访问
        •    允许远程客户端
        •    允许远程管理
        •    允许入站
        •    允许出站
注意   在 Windows Server 2003 群集环境中,请确保选中“要求对呼叫方进行验证”。必须选择此事务模式。
启用 XA 事务
12.    单击“确定”。
13.    在“DTC 控制台消息”对话框中,单击“是”重新启动 DTC。
14.    在“DTC 控制台消息”对话框中,单击“确定”确认 DTC 已重新启动。
15.    单击“确定”关闭“我的电脑属性”对话框。
16.    关闭“组件服务 MMC”。

注意事项:
事务管理器通信的三个单选项为
        •    要求对双方进行验证
        •    要求对呼叫方进行验证
        •    不要求进行验证
针对该设置不同情况需要区别对待,不同的情况组合为
        (1)    安装的系统是Windows Server 2000版本、不带SP2的WindowsXP 、不带SP1的Windows 2003系统,带SP2的WindowsXP 、带SP1的Windows 2003系统。
        (2)    Windows系统所在的计算机是在一个域中还是在多个域中,还是在工作组中。
备注:
打开组件服务也可以通过运行DCOMCNFG.EXE来打开。
以上的设置不一定能够使MSDTC正常运行,比如系统防火墙的设置也有可能导致运行不正常,针对使用MSDTC出现的问题,可访问 http://go.microsoft.com/fwlink/?LinkId=61920寻找参考答案。

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=837519


你可能感兴趣的:(server)