sql-server - 合并复制 - 触发器在发布者和订阅者上触发

标签 sql-server sql-server-2008 replication sql-server-express

服务器版本: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/

相关文章:

sql - 如何使用 JOIN 绕过查找表中的 NULL?

sql - 在特定表的 SQL 中使用 @@IDENTITY

sql-server - 建议的复制类型?

sql-server - 为什么 CROSS APPLY *不*在此查询中出现无效列错误?

sql - 将数据库中每个表的前 5 行导出到 Excel - MS SQL Server

c# - SQL将带前导零的nvarchar转换为十进制

sql - 挑出 EVENTDATA 的特定部分用于 DDL 触发器?

MySQL : How to synchronize databases after having been offline using replication?

MySQL : data is not replicating

sql-server - SQL Server 从 nvarchar 到 varbinary,然后从 varbinary 到 nvarchar 的转换保真度