Hi All,
Having a weird issue for last one week. Tried to fix it with some workarounds but didn't help.
Problem Summary:
We have a replication set us from prod to report instance. The publisher and distribution database are on the same site. Push method is used for this transnational replication. One night there was a change happened and one article was checked off and then checked back on. One DBA reinitialized the subscription probably using existing snapshot. But since then that article was not replicating though no error was seen replication monitor.
So far investigation and step taken:
exec sp_helpsubscription @publication = 'Reporting';
All the articles' Subscription Status come as 2 (Active) except the affected article. It's value is 1 (Subscribed).
This article consists of only 40 rows. So what I tried to resolve.
- Delete the table from subscriber database.
- Recreate it with copy wizard from the source.
- Then edit a row in publisher end and see if it replicates or not. But no luck.
There is another way to do this in the web where it says one single article can be dropped and readded without taking a snapshot. For this we will need to use below parameters:
@force_invalidate_snapshot = 1,--Invalidates old snapshot
@force_reinit_subscription = 1;-- Marks subscribers for reinitialization
But I doubt this will work in my case as the overall Subscription Status is set as 1 not 2. In my test environment I have tested both mentioned ways and that worked. But I think it works because in my test env the Subscription Status was 2 all the time.
There is no error seen in the replication monitor.
I don't want to take snapshot to reinitialize subscriber for just one article. Is there any way that we can make this artcile's subscription status active or reinitialize only this article?