我们有一个主数据库(Publisher),它被复制到另一个SQL服务器实例中的辅助数据库(订阅者 - 不可更新)。两者都是SQL Server 2012实例,复制是Transactional。辅助数据库仅供报告团队使用。
我们假设我们有一个主表和另外两个正在复制的子表。现在在辅助数据库中,我们计划有一个队列,一旦进入辅助数据库就应该包含最近复制的记录。这是为了让报告应用程序了解要处理的新记录。我需要主表中的主键进入此队列。是否有任何我可以使用的系统对象。
例如:
在主数据库中:
Insert into table1(Id,Name) values(5,'abc')
Insert into table1(Id,Name) values(6,'xyz')
一旦这两个记录到达辅助数据库,我想要Ids' 5'和' 6'要插入到该队列中。队列可以只是另一张桌子。
注意:我有一个想法是根据CRUD日期筛选出记录,但是一旦新记录进入(而不是预定作业),我们需要再次触发此存储过程。但我觉得必须有比这更聪明的方法。