SQL Server Replication: Is there a way to know which articles are being used in a replicated database? I've come into a situation where there are about 1000+ tables being replicated to a database.  When it was created, I think the creators just put a bunch of tables they thought would be needed.  I'd like to reduce the number of tables being replicated to only the ones needed.  Are there any good ways to figure out which tables are needed in replication?
Thank you for your help.
The only way to come close to being sure would be to log their usage via things like the  Profiler, Extended Events, or depending on what version your SQL Server instance is, the Query Store. You'd have to pick a timeframe long enough to log that you think is sufficient since it's possible in some contexts / businesses, some of the tables are used with low frequency for quarterly / bi-yearly / yearly reports (but maybe that doesn't apply in your use case).
Depending on how important it is for that data to be online, you could always also perform a scream test and take the replicated destination database offline for a few hours or a day, or apply a similar strategy to a group of tables at a time, to see who starts complaining about what's broken and then concretely determining which tables were in use for those consumers.