Hello,
I'm maintaining a merge replication with the publisher MS SQL Server 2008 R2 and the subscriber SQL Server CE 3.5 installed the PDA through web synchronization. I am really lost on the problem on the subscription expiration.
As the document SQL server said, in case of the subscription expired after the retention period passed, the subscription will be deactivated, however we can reinitialize the subscription to avoid the subscription dropped by the Expired subscription clean up
job. (https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms151188%28v%3dsql.105%29)
So I wanted to reinitialize after passing the retention period, but the synchronization doesn't work with these errors messages :
- On the publisher side : The snapshot for this publication has become obsolete. The snapshot agent needs to be run again before the subscription can be synchronized.
- On the subscriber side : A call to SQL Server Reconciler failed. Try to resynchronize. SQL CODE 29006
I've got to know that after regenerate the snapshot, the synchronization works well. But it is not the goal to generate manually whenever it happens. So I wonder
- Why the snapshot always become obsolete after the expiration of subscription? Even though there is no change on the schema but only on the data.
- Is there a way to run the regeneration of snapshot before synchronization on C# sqlSeverCE?
- On the current status, the generationg snapshot runs every 2 weeks, if i run it every days at 5am, it will create too much metadata?
Thanks,