我想将触发器中的数据从我的本地 mssql 2005 服务器插入到远程 mssql 2005 服务器。
我有一张桌子 Syr;我创建了一个触发器(AFTER INSERT)来检测是否添加了一些东西。我想将该数据复制到另一台远程服务器的同一张表中。我的问题是,如果我只是在普通查询中执行插入语句(这很简单,使用静态数据仅用于测试),它就成功了;我什至可以从远程服务器中进行选择。但是当我将这个简单的插入放入触发块时:“无法开始分布式事务”
CREATE TRIGGER T_SyrInserted
ON [DBProba].[dbo].[Syr]
AFTER INSERT
AS BEGIN
INSERT INTO [RemoteSrv].[DBProba].[dbo].[Syr] (SyrId, SyrNm ) VALUES (15000734, 'valami')
END
解决了:
- 将 DTC 身份验证设置为无
- 我遇到错误“嵌套事务无法执行,因为 XACT_ABORT 为 OFF”,因此在插入语句之前添加了一行:SET XACT_ABORT ON; 我不知道我用一个简单的插入做了什么“嵌套”但很好......