编程论坛
400万+工程师在用
400万+工程师在用

电子发烧友网工程师

17年用户 16436经验值
擅长:可编程逻辑 MEMS/传感技术 测量仪表 模拟技术 控制/MCU RF/无线
私信 关注

win2003中配置msdtc

2009-3-4 16:59

<p><font face="Verdana">服务器: 消息 7391,级别 16,状态 1,行 6<br/>该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分<br/>布式事务。<br/>[OLE/DB provider returned message: 不能在指定的事务处理器中<br/>获得新事务。]<br/>---------------------------------------------------------------------------------------------<br/>服务器: 消息 8520,级别 20,状态 1,行 8<br/>内部 MSDTC 事务的提交失败: Result Code = 0x8004d019。</font></p>
<p><font face="Verdana">连接中断<br/>---------------------------------------------------------------------------------------------</font></p>
<p><font face="Verdana">这个问题,我想做过MS SQLServer分布式数据库系统的人都遇到过。简单的时候是服务没启动,135端口没打开之类的。但等你将这些东西都搞定后仍然不行的时候,你就会感到绝望并且怀疑是不是MS根本就不能使用OLEDB来启动分布式事务了。其实,很多时候一个问题在出现的时候会让你觉得神秘,但解决起来其实很简单。下面就是答案:<br/>0、安装mdac2.8<br/>1、运行 regedt32,浏览至 HKEY_LOCAL_MACHINE\Software\microsoft\MSDTC。<br/>添加一个 DWORD 值 TurnOffRpcSecurity,值数据为 1。<br/>2、重启MS DTC服务。<br/>3、打开“管理工具”的“组件服务”。<br/>&nbsp;&nbsp;&nbsp; a.&nbsp; 浏览至"启动管理工具"。 <br/>&nbsp;&nbsp;&nbsp; b.&nbsp; 选择"组件服务"。 <br/>&nbsp;&nbsp;&nbsp; c.&nbsp; 展开"组件服务"树,然后展开"我的电脑"。 <br/>&nbsp;&nbsp;&nbsp; d.&nbsp; 右键单击"我的电脑",然后选择"属性"。 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在 MSDTC 选项卡中,点“安全配置”,确保选中了下列选项: <br/>网络 DTC 访问<br/>&nbsp;网络管理<br/>&nbsp;网络事务<br/>XA 事务<br/>另外,"DTC 登录帐户"一定要设置为"NT Authority\NetworkService"。 <br/>4、重启MS DTC服务。<br/>5、再次运行 regedt32,浏览至 HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC,然后删除 TurnOffRpcSecurity 项。<br/>经试验,第1和第5步省略也可以,完成后一定要重新启动计算机<br/>另外,我发现在win2000中没有配置网络DTC访问的功能,直接安装mdac2.8就可以了,在win2003中才能配置</font></p>
<p><font face="Verdana"></font>&nbsp;</p>

回帖(1)

张君

2016-11-18 15:45:59
                                                

更多回帖

打开APP