http://expert.csdn.net/Expert/topic/2835/2835706.xml?temp=.1959955
回复人: j9988(j9988) 一.A.不用事务,关用SELECT 语句.是否可以分布式查询? B.LINKSERVER 在做分布式更新事务时不能对本机操作.(就是不能环回分布式事务) C.DBCC TRACEON (3604, 7300)--用跟踪看更详细错误信息.
D.下载MS提供的DTCPing.exe 分装在两台机上,按README说明来运行它.看出错信息.
http://download.microsoft.com/download/complus/msdtc/1.7/nt45/en-us/DTCPing.exe二.两台机的MSDTC是否都打开了.三.MSDTC设置是否正确.
1.打开命令提示,运行"net stop msdtc",然后运行"net start msdtc"。
2.转至"组件服务管理工具"。
3.浏览至"启动管理工具"。
4.选择"组件服务"。
a.展开"组件服务"树,然后展开"我的电脑"。
b.右键单击"我的电脑",然后选择"属性"。
C.在 MSDTC 选项卡中,确保选中了下列选项: 网络 DTC 访问
网络管理
网络事务
XA 事务
e.另外,"DTC 登录帐户"一定要设置为"NT Authority\NetworkService"。
5.单击"确定"。这样将会提示您"MS DTC 将会停止并重新启动。
所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。
6.单击"确定"关闭"我的电脑"属性窗口。四.
MSDTC依赖于RPC,RPC使用的端口是135,测试135端口是否打开.是否有防火墙?如果有先关了防火墙.
telnet IP 135
如果是关闭的打开它.五.
有的机由于各种原因),SQLOLEDB不能使用分布式事务,更改为"MSDASQL" 的ODBC方式联接.
使用RRAS而不是RAS.(控制面版--管理工具--远程服务管理器)
Check whether you are using Remote Access Server (RAS) to access remote servers. If so, make sure that you have implemented Routing RAS (RRAS). Linked server does not work on RAS because RAS allows only one way communication.
七.检查你的两台服务器是否在同一个域中.
如果不在同一个域中,是否建立可信任联接.八.如果是WIN2000,升级到SP4九.升级MDAC到2.6以上,最好是2.8.十.要安装SQL的最新补丁: sp3a
'全部补丁的位置
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766'应该安装的补丁sql 2000 sp3
http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe
回复人: j9988(j9988) 一.A.不用事务,关用SELECT 语句.是否可以分布式查询? B.LINKSERVER 在做分布式更新事务时不能对本机操作.(就是不能环回分布式事务) C.DBCC TRACEON (3604, 7300)--用跟踪看更详细错误信息.
D.下载MS提供的DTCPing.exe 分装在两台机上,按README说明来运行它.看出错信息.
http://download.microsoft.com/download/complus/msdtc/1.7/nt45/en-us/DTCPing.exe二.两台机的MSDTC是否都打开了.三.MSDTC设置是否正确.
1.打开命令提示,运行"net stop msdtc",然后运行"net start msdtc"。
2.转至"组件服务管理工具"。
3.浏览至"启动管理工具"。
4.选择"组件服务"。
a.展开"组件服务"树,然后展开"我的电脑"。
b.右键单击"我的电脑",然后选择"属性"。
C.在 MSDTC 选项卡中,确保选中了下列选项: 网络 DTC 访问
网络管理
网络事务
XA 事务
e.另外,"DTC 登录帐户"一定要设置为"NT Authority\NetworkService"。
5.单击"确定"。这样将会提示您"MS DTC 将会停止并重新启动。
所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。
6.单击"确定"关闭"我的电脑"属性窗口。四.
MSDTC依赖于RPC,RPC使用的端口是135,测试135端口是否打开.是否有防火墙?如果有先关了防火墙.
telnet IP 135
如果是关闭的打开它.五.
有的机由于各种原因),SQLOLEDB不能使用分布式事务,更改为"MSDASQL" 的ODBC方式联接.
使用RRAS而不是RAS.(控制面版--管理工具--远程服务管理器)
Check whether you are using Remote Access Server (RAS) to access remote servers. If so, make sure that you have implemented Routing RAS (RRAS). Linked server does not work on RAS because RAS allows only one way communication.
七.检查你的两台服务器是否在同一个域中.
如果不在同一个域中,是否建立可信任联接.八.如果是WIN2000,升级到SP4九.升级MDAC到2.6以上,最好是2.8.十.要安装SQL的最新补丁: sp3a
'全部补丁的位置
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766'应该安装的补丁sql 2000 sp3
http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe
应该是成功提示,但ping远程就提示找不到服务器.我的组件服务里没有“网络 DTC 访问、网络管理、网络事务、DTC登录账户”设置项,为什么?不同域的可信任联接具体指什么?我telnet 到本机和远程135好像都没有什么反应,头痛!这个问题急死我了...
1.运行DTCPing是双机运行:在A机按START,C机按Ping。然后倒过来试。
你现在主要是C机,C机的MSDTC正常服务??2.telnet C机 135不行,跟对方机MSDTC没开或没设好有很大关系。仔细检查C机。
--这是windows2003设置。win2000你网上查查。你A机跟B机事务正常。说明设置正确。
重点检查C机的设置。首先得保证telnet C机 135 能通。不通就没话说了,肯定是C机设置不行。
在文件末尾加入新的行:
211.162.2.100 服务器名称
我在查询分析器中执行sp_addlinkedserver,再在查询分析器中调用远程存储过程,执行成功!
但是在触发器[注:该触发器是表的Insert触发器]中执行远程存储过程时,
就出现如下错误信息:
[OLE/DB provider returned message:新事务不能登记到指定的事务处理器中。]
[该操作未能执行,因为OLE DB提供程序‘SOL OLEDB’无法启动分布式事务。]
是不是在触发器中就不能调用远程存储过程????
是不是涉及到事务,就不能调用远程过程???
这个问题我还没有搞定,近期一直忙于别的事情,也就没有研究了。我暂时用作业实现的