SQL Server 事务复制忽略不更改数据的 DML

SQL*_*Guy 4 sql-server transactional-replication

我在两台服务器之间进行了事务复制设置,我注意到如果运行类似于以下的语句:

更新 mytable SET mycolumn = mycolumn

复制不知何故知道忽略此事务,并且它不会应用于订阅者。我已经通过运行 SQL Profiler 以及将 TIMESTAMP 列添加到我的订阅者表(它不会改变)来确认它。我怀疑有某种机制可以实现这种“智能”行为,我想知道是否有人可以对此有所了解。

谢谢!

Mar*_*ith 6

事务复制通过读取事务日志来工作

这种“非更新更新”通常不会生成任何事务日志记录。

有关这方面的更多信息,请参阅 Paul White 的文章“非更新更新的影响”