服务器版本:SQL Server 2008R2 客户端版本:SQL Server Express 2008R2
当我运行合并复制过程时,我遇到了似乎是锁定的问题。似乎是在订阅者上进行更改并与发布者同步时。我确信来自触发器,因为它们似乎再次向发布者开火,并且可能试图再次向订阅者发送数据。我已将“NOT FOR REPLICATION”添加到触发器中,但这似乎没有帮助。我还研究并尝试添加以下子句。
DECLARE @is_mergeagent BIT
SELECT @is_mergeagent = convert(BIT, sessionproperty('replication_agent'))
IF @is_mergeagent = 0 --IF NOT FROM REPLICATION
这似乎也没有帮助。如何使用插入/更新触发器处理合并复制?我可以阻止他们“双重”射击吗?
始终欣赏这些信息。
--S
最佳答案
不确定触发器是否触发,但 SESSIONPROPERTY这里会给出 NULL。所以后面的测试总是失败。
<Any other string>
[gives] NULL = Input is not valid.
您可能是说APP_NAME
这至少应该有助于故障排除......
关于sql-server - 合并复制 - 触发器在发布者和订阅者上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6807316/