1

因此,我的 SQL (2005) Transactional Replication 通常与单个发布者和单个(只读)订阅者一起工作得很好。数据更改和更新完美流畅,延迟大约 5 秒,这很好。

我花了几天时间试图解决的一个烦人的问题(并且到处搜索答案)是新的存储过程/表/等。不要传播给只读订阅者,即使我已将它们作为“文章”添加到“出版物”。该发布将“传输模式更改”设置为 ON,并且将存储过程设置为传输其定义。但是,出于某种原因,他们没有。

我的“快照代理”进程设置为未计划。(换句话说,它只发生一次,当我手动启动它时。)我应该把它安排在一个时间表上以启用新的或修改的表和存储过程的传输吗?

我认为仅仅将对象作为文章添加到出版物中就可以了,但除非我做快照,否则它仍然不会发送它。连接这些的 WAN 是完全快速和可靠的,所以这不是问题,并且表数据更新传输相对快速和完美。

虽然我可以按计划安排我的快照代理,但这对主发布数据库或只读副本的用户是否有任何实时生产影响?(我的网站目前每月有 4 多万独立用户,所以我希望将干扰降到最低……)谢谢!

4

1 回答 1

1

事务复制仅从源(发布)数据库的事务日志中分发(然后发布)DML(数据操作语言)语句。

新表和存储过程不会复制到订阅者。在此特定上下文中的模式更改,尽管我不得不承认在某些联机丛书文档中有点不清楚,但请参阅现有模式,即如果您要将列添加到现有数据库,则此更改将传播到订户。

为了澄清,这里有一篇 Microsoft 文章,其中详细说明了您可以进行的架构更改。

[ http://msdn.microsoft.com/en-us/library/ms151870(SQL.90).aspx][1]

我希望这有帮助。复制是一个很大的主题领域,所以如果我能提供进一步的帮助,请告诉我。

Oh yes, you are correct, if you add new articles to your publication you will need to create an updated snapshot.

Cheers,

于 2009-02-02T18:53:50.307 回答