我的电脑上安装了SQL Server Express,另一台电脑作为远程服务器(链接服务器)。我想实现2路同步(不需要删除操作)。由于我的数据库很大,用同步框架确实很慢,所以框架选项被排除在外。我正在使用一个时间戳列进行同步。我还在两台电脑上设置了更新日期时间列的触发器,就像这样。
CREATE TRIGGER trgTmStmpCmdList
ON [dbo].cmdlist
AFTER UPDATE
AS BEGIN
UPDATE [dbo].cmdlist
SET TmStamp = GETDATE()
FROM INSERTED i
WHERE i.uid = [dbo].cmdlist.uid
END
现在插入查询在我的电脑上运行得很好 更新查询在我的电脑上也运行得很好 但是当我试图更新远程服务器上的一条记录时 它就会抛出一个错误:
此操作与此交易的另一个待定操作相冲突。操作失败
例如我的更新查询是。
UPDATE e
SET e.Type = 'test'
FROM [serevername].[dbname].dbo.[tablename] e
WHERE e.uid = '2716cba3-c09d-4fa4-8b43-882e3bedb80d'
注:如果我把触发器去掉,那么它就能正常工作,没有任何错误。
感谢任何帮助。