高分请教(远程,分布式事务)
于互联网中有固定IP的一装有SQL Server2000的服务器建立连接服务器如下:
SET NOCOUNT ON --不返回计数
declare @strServerIP varchar(100)
set @strServerIP='61.55.142.199'
--添加链接服务器
if exists(select * from master..sysservers where srvname='linkserver_mywt_mis')
exec sp_dropserver @server ='linkserver1',@droplogins ='droplogins'
exec sp_addlinkedserver @server='linkserver1',@srvproduct='',@provider='SQLOLEDB',@datasrc=@strServerIP,@catalog='master'
exec sp_addlinkedsrvlogin 'linkserver1','false',null,'sa',''
--设置链接服务器的rpc选项为选中
exec sp_serveroption 'linkserver1', 'rpc', 'TRUE'
--设置链接服务器的rpc out选项为选中
exec sp_serveroption 'linkserver1', 'rpc out', 'TRUE'
--启动DTC(分布式事务处理协调器)
exec master..xp_cmdshell 'net start msdtc',no_output
成功建完后建完后执行:
begin tran
select * from linkserver1.pubs.authors
commit tran
错误信息为:
该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。
[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。
说明:我用telnet xxx.xxx.xxx.xxx 1433可以成功。
是不是对网络要求严格,如何设置网络?
情提供具体的解决方法?急用谢谢?