I @George Raphael Adding to Rahul Randive here is the action plan that we should follow if you do not want to drop the Sync Group.
Please be careful with the steps, they may result in data loss if not followed correctly.
1) Stop Auto-sync on the Sync Group.
- Go to the Sync Metadata database to find the scope name for the Sync Member under the Sync Group by running -
select name, scopename,id, * from [dss].[syncgroupmember] where name = '<sync_member_name>'
It shall return only 1 row. The id should be a GUID value.
- Go to the Hub database, and find the scope_id on the Sync Member from #2 by running -
select * from [DataSync].[scope_info_dss] where sync_scope_name = '<scopename from #2>'
- If there is one entry, run the following query to clean up the Tombstone-knowledge -
begin tran
update [DataSync].[scope_info_dss] set [scope_tombstone_cleanup_knowledge] = null where
sync_scope_name = '<scopename from #2>'
If there is only 1 row change -
commit tran
- Go to Sync Metadata database to change the memberstate to 6 -
update [dss].[syncgroupmember] set memberstate = 6 where name = '<sync_member_name>'
- Trigger a Sync.
After the Sync, we need to check that the data is correct. you can use table-diff tools, or SSDT - https://docs.microsoft.com/en-us/sql/tools/tablediff-utility?view=sql-server-ver15
https://docs.microsoft.com/en-us/sql/ssdt/how-to-compare-and-synchronize-the-data-of-two-databases?view=sql-server-ver15 to compare the data. you can also use other data comparison tools. (Like, Red-gate - https://www.red-gate.com/products/sql-development/sql-compare/)
I hope this information helps please let me know if you have any additional questions.
Regards
Geetha