如何在一个数据库中使用触发器通过链接服务器连接将数据插入另一个数据库

时间:2017-08-26 12:51:16

标签: sql-server sql-server-2012 oledb linked-server

我在SQL Server 2012上创建了一个链接服务器。通过它我们可以成功执行插入和选择操作,但是当我在本地服务器表上添加一个触发器以在链接服务器表上插入数据时。

我收到错误:

  

没有交易活跃

我们已启用防火墙入站/出站的DTC组件,并且还启用了DTC服务。我在网上搜索了很多。几乎尝试了一切。有什么我们可以尝试并做对的吗?请?

这是我在使用启用触发器在本地表上执行插入时遇到的错误的屏幕截图:

ERROR SNAP

1 个答案:

答案 0 :(得分:0)

如果您不需要远程更新查询上的事务,则可以使用OpenQuery执行此操作。您必须使用nvarchar(max)中的args构造查询,然后执行sp_executesql。类似的东西:

declare @Query nvarchar(MAX);
SET @Query = 'select * from openquery(REMOTE_SERVER,''insert table ..' + @field + '..'')';
EXEC sp_executesql @Query;

请注意nvarchar中的双引号。