中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
MS SQLServer OLEDB分布式事务无法启动的一般解决方案
作者:未知 时间:2005-07-27 23:37 出处:CSDN 责编:chinaitpower
              摘要:MS SQLServer OLEDB分布式事务无法启动的一般解决方案

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

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

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

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

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


微软提供的原文:http://support.microsoft.com/default.aspx?scid=kb;zh-cn;329332


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有