Firstly, my SQL Server Replication knowledge is not massively great so apologies if I've missed anything obvious so far!
I have a master database with 9 merge replicating subscribers all of which have been working fine for a couple of years now. I recently received a support ticket that data on one of the subscribers looked a little "out of date" one day so the customer restarted SQL Server and everything seemed to "catch up" however an order that was placed just before the user carried out the restart seem to have been lost.
I had a look at the error logs and indeed there does appear to have been a replication issue just before the reset took place "The process could not connect to the subscriber" - this appears to have been fixed by the user carrying out a restart as the messages stop appearing shortly after however I'm at a loss as to how an order is missing.
I was highly tempted to pass this off as user error (incorrectly processed order/connected to test db etc) however there is a whole chunk of missing log data during the period where replication appears to not be working, suggesting that data is indeed missing.
My understanding is that any transactions that are not replicated during a problem period will be stored at the subscriber and then replicated once the connection is re-established. All subscribers in question have regular periods of unreliable network connectivity and we often see these errors appearing however we've never lost data before - it's always propagated eventually.
Is there any way I can investigate this further and ideally recover the data? I don't really want to go to the client and just tell them the data is lost and potentially could happen again.
NB Data has been lost previously however only when a re-initialisation has occurred and the "upload changes" option was missed however in this case, no re-initialisation occurred (at least not that I know of - is there any way I can tell for sure?).