MSSQLServerOLEDB分布式事务无法启动的一般解决方案

来源:互联网 发布:linux nginx安装 编辑:程序博客网 时间:2024/05/17 12:46
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!

服务器:消息7391,级别16,状态1,行6
该操作未能执行,因为OLEDB提供程序'SQLOLEDB'无法启动分
布式事务。
[OLE/DBproviderreturnedmessage:不能在指定的事务处理器中
获得新事务。]
---------------------------------------------------------------------------------------------
服务器:消息8520,级别20,状态1,行8
内部MSDTC事务的提交失败:ResultCode=0x8004d019。

连接中断
---------------------------------------------------------------------------------------------

这个问题,我想做过MSSQLServer分布式系统的人都遇到过。简单的时候是服务没启动,135端口没打开之类的。但等你将这些东西都搞定后仍然不行的时候,你就会感到绝望并且怀疑是不是MS根本就不能使用OLEDB来启动分布式事务了。其实,很多时候一个问题在出现的时候会让你觉得神秘,但解决起来其实很简单。下面就是答案:

1、运行regedt32,浏览至HKEY_LOCAL_MACHINEoftware/Microsoft/MSDTC。
添加一个DWORD值TurnOffRpcSecurity,值数据为1。
2、重启MSDTC服务。
3、打开“管理工具”的“组件服务”。
    a.浏览至"启动管理工具"。    b.选择"组件服务"。    c.展开"组件服务"树,然后展开"我的电脑"。    d.右键单击"我的电脑",然后选择"属性"。    在MSDTC选项卡中,确保选中了下列选项:
网络DTC访问网络管理网络事务XA事务
另外,"DTC登录帐户"一定要设置为"NTAuthority/NetworkService"。4、重启MSDTC服务。
5、再次运行regedt32,浏览至HKEY_LOCAL_MACHINEoftware/Microsoft/MSDTC,然后删除TurnOffRpcSecurity项。


微软提供的原文:http://support.microsoft.com/default.aspx?scid=kb;zh-cn;329332
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击