解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案

2016-01-29 16:26 21 1 收藏

解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案,解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案

【 tulaoshi.com - SQLServer 】

 

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

连接中断
-----------------------------------------
搜索了网上类似问题的解决方案,都建议采用下面的方法(方法一):
1、运行 regedt32,浏览至 HKEY_LOCAL_MACHINE oftwareMicrosoftMSDTC。
添加一个 DWORD 值 TurnOffRpcSecurity,值数据为 1。
2、重启MS DTC服务。
3、打开“管理工具”的“组件服务”。
    a. 浏览至"启动管理工具"。    b. 选择"组件服务"。    c. 展开"组件服务"树,然后展开"我的电脑"。    d. 右键单击"我的电脑",然后选择"属性"。     在 MSDTC 选项卡中,确保选中了下列选项:
网络 DTC 访问 网络管理 网络事务XA 事务
另外,"DTC 登录帐户"一定要设置为"NT AuthorityNetworkService"。4、重启MS DTC服务。
5、再次运行 regedt32,浏览至 HKEY_LOCAL_MACHINE oftwareMicrosoftMSDTC,然后删除 TurnOffRpcSecurity 项。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

但是实际上该方法基本上解决不了问题,经过长时间的反复实践,我终于按下面的方法解决了:
(方法二)
1、按照方法一的方法处理一遍,如果不行,再继续下面的方法
2、安装windows 2003 sp1,安装好后,方法一中的第4步设置对话框和原来不一样了,选择“事务管理通讯”中的“不要求验证”
3、最好安装好MDAC2.8
3、通过查找,在C:找到名为“hosts”的文件(没有扩展名),通常路径为C:WINDOWSsystem32driversetc,将对方服务器的IP和计算机对应起来,参考如下:
========================================
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
# www.knowsky.com
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

127.0.0.1 localhost
192.168.1.2 中心
192.168.1.3 西站
192.168.106.35 信息中心2
=============================================
一定要将每台服务器的hosts文件都修改好
通过以上办法,我的分布式就可以正常运行了,速度也非常快

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/) 

来源:http://www.tulaoshi.com/n/20160129/1498584.html

延伸阅读
标签: 电脑入门
我一台电脑要重新安装操作系统,当安装完系统后,启动电脑,没有出现正常的WINDOWS启动介面,却是因计算机磁盘硬件问题,Windows 无法启动,不能读取所选的引导盘。请检查引导路径和磁盘硬件,参阅磁盘配置的信息。,电脑不能启动,经检查,确定要安装的操作系统没问题!下面找了4种方法来解决问题: 方法一:首先查看C盘的启动引导boot.ini系...
标签: SQLServer
可以使用sql-server企业管理器进行建立,注意其中的rpc及rpc out两项,也可以使用sql语句来完成定义,主要涉及到三个存储过程 sp_addlinkedserver,sp_serveroption和sp_addlinkedsrvlogin,以下是三个存储过程的语法: sp_addlinkedserver 创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行...
标签: ASP
  复制的概念 复制作为一个重要并且强大的技术,为分布式数据的存储和处理提供了有力支持。微软公司的SQL Server可以生成数 据的拷贝,并能把这些数据的拷贝分发到不同的地方,自动进行数据的同步,保持所有的数据拷贝具有相同的数据。SQL Server采用一种称为“松散一致”的复制模式在两个数据库之间进行复制。这两个数据库既可以...
标签: 电脑入门
使用Windows操作系统的人有时会遇到这样的错误信息: 「0X????????指令引用的0x00000000内存,该内存不能为read或written」,然后应用程序被关闭。 如果去请教一些「高手」,得到的回答往往是「Windows就是这样不稳定」之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的一般原因。 一、应用程序...
标签: iphone
【iPhone手机安装不了软件如何解决】 1、软件版本不支持。比如说你现在用的苹果的版本是3.1.2,而安装的软件是3.1.3的,这样的情况下是安装不进去的。 2、软件本身有问题。现在在Appstore里很多软件都不能安装,要不安装完成后就崩溃退出。这样的情况一是手机是越狱版本的系统和软件有冲突,再有就是软件本身的缺陷。 ...

经验教程

160

收藏

24
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部