如何获取订阅服务器数据库中最近复制/添加的记录列表

时间:2016-02-04 17:34:52

标签: sql-server sql-server-2012 database-replication

我们有一个主数据库(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日期筛选出记录,但是一旦新记录进入(而不是预定作业),我们需要再次触发此存储过程。但我觉得必须有比这更聪明的方法。

0 个答案:

没有答案