我在同一个 SQL Server 2005 实例中有两个数据库,配置为事务复制。当数据更改时,更改会在两个数据库中正确复制。对于新创建的表,该表不会在另一个复制的数据库中自动创建。甚至不允许更改现有表的结构。您能告诉我如何解决这个问题吗?在我们的系统中,数据库对象的更改非常有规律,需要经常复制。
答案1
正如您最初必须将表添加到复制中一样,您也必须将新表添加到现有发布中。复制本质上是细粒度的。也就是说,您可以选择发布其中的任何子集,而让复制完全不知道其他子集。因此,当您添加新表时,您必须明确选择将该表添加到您希望它添加到的任何发布中。我发现管理该操作的最简单方法是通过调用 sp_addarticle 和 sp_addsubscription 存储过程。