msdtc相关问题汇总

"新事务不能登记到指定的事务处理器中"异常的处理----MSDTC的正确配置


1.MSDTC是否正确启动.   察看dcomcnfg中察看msdtc的安全配置选项,保证双方都可以交互

2.MSDTC依赖于RPC,RPC使用的端口是135,测试135端口是否打开.是否有防火墙?如果有先关了防火墙.
    telnet   IP   135 
    如果是关闭的打开它.  

3.检查你的两台服务器是否在同一个域中.     如果不在同一个域中,是否建立可信任联接

    如果Server之间跨网段,则Server之间需要能互相PING到机器名(而不是IP地址)。

    如果相互PING机器名有问题,修改system32/driver/etc目录下的hosts文件

4.升级MDAC到2.6以上

5.要安装操作系统最新补丁和SQL的最新补丁


6.如果windows2003(XP)开启了update服务,

   则检查注册表[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC]的键值TurnOffRpcSecurity是否为1,如果为0修改为1.

--------------------------
7. 在B服务器上的HOSTS文件中加了A服务器的IP和主机名,解决!原因好象是分布式事务回转时按主机名找A

--------------------------
在相关的每台计算机上进行如下操作,下面是在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寻找参考答案。

你可能感兴趣的:(MS,SQL,C#,windows,server,防火墙,服务器,网络,system)