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

Sql server 如何获取订阅服务器数据库中最近复制/添加的记录列表,sql-server,sql-server-2012,database-replication,Sql Server,Sql Server 2012,Database Replication,我们有一个主数据库(发布服务器),它被复制到另一个SQL server实例中的辅助数据库(订阅服务器-不可更新)。两者都是SQL server 2012实例,复制是事务性的。辅助数据库仅由报告团队使用 假设我们有一个主表和另外两个被复制的子表。现在,在辅助数据库中,我们计划有一个队列,该队列在进入辅助数据库时应包含最近复制的记录。这是为了让报告应用程序知道要处理的新记录。我需要主表中的主键才能进入此队列。是否有我可以使用的系统对象 例如: 在主数据库中: Insert into table1(I

我们有一个主数据库(发布服务器),它被复制到另一个SQL server实例中的辅助数据库(订阅服务器-不可更新)。两者都是SQL server 2012实例,复制是事务性的。辅助数据库仅由报告团队使用

假设我们有一个主表和另外两个被复制的子表。现在,在辅助数据库中,我们计划有一个队列,该队列在进入辅助数据库时应包含最近复制的记录。这是为了让报告应用程序知道要处理的新记录。我需要主表中的主键才能进入此队列。是否有我可以使用的系统对象

例如:

在主数据库中:

Insert into table1(Id,Name) values(5,'abc')
Insert into table1(Id,Name) values(6,'xyz')
一旦这两条记录到达辅助数据库,我希望将ID“5”和“6”插入该队列。队列可以是另一个表


注意:我有一个基于CRUD日期过滤记录的想法,但是我们需要一些东西在新记录进入时触发这个存储过程(而不是预定的作业)。但我觉得一定有比这更聪明的方法。

考虑在订阅服务器中插入时使用触发器,在队列表中插入新添加的密钥。谢谢@TT的建议。这将解决新插入件的问题。但在任何更新的情况下,我将被迫在所有子表中保留一个触发器,以标识更新的相应父表。但是我们不喜欢有那么多的触发器。