sql server 2005中的链接服务器

时间:2013-05-01 04:34:27

标签: sql-server sql-server-2005

我们在本地(Windows Server 2003)有一台服务器,在godaddy(windows server 2008)有一台服务器,在两台服务器上都安装了sql server 2005,并在两台服务器上都创建了链接服务器。

我们已经在godaddy服务器中为一个 sampletbl 表启用了触发器,每当我们尝试使用启用的触发器将数据从godaddy数据库插入本地数据库时,我们就会面临以下错误。< / p>

  

链接服务器“211_TEST”的OLE DB提供程序“SQLNCLI”返回消息“没有事务处于活动状态。”。
  Msg 7391,Level 16,State 2,Procedure 36to211,Line 8
  无法执行该操作,因为链接服务器“211_TEST”的OLE DB提供程序“SQLNCLI”无法开始分布式事务。

触发代码如下:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[36to211] on [dbo].[SampleTbl]
FOR INSERT
as
Declare @a int;
Declare @b int;
Declare @c int;
select @a=TETS_DET,@b=TEST_DET2,@c=TEST_DET3 from SampleTbl
insert into [211_TEST].[MAPBULLION].[dbo].[TEST1]
(TETS_DET,TEST_DET2,TEST_DET3)
values
(@a,@b,@c)

此处[211_TEST]是链接服务器名称,MAPBULLION是本地服务器中的数据库,TEST1是本地服务器中的表名称。

检查所有MSDTC设置,它们是按照愿望

请提供解决方案。

这是我们尝试执行的查询,用于将数据从godaddy服务器插入本地服务器:

insert into sampletbl (TETS_DET, TEST_DET2, TEST_DET3)
VALUES ('5', '6', '7') 

1 个答案:

答案 0 :(得分:0)

首先在google上搜索“sql server distributed transaction linked server”

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/523116d4-4c8e-43a8-abf4-e705ffaa68c8/distributed-transactions-fail-on-linked-server?forum=sqldatabaseengine

说它是一个已知的问题......