We recently experienced errors with SQL Server Transactional Replication on a client's system. Replication is running from a SQL 2017 server to an Azure DB.
Initially some replicated update commands failed as the rows to be updated didn't exist on the subscriber database. We added the rows in manually to save reinitialising.
Following that some replicated insert commands failed as the rows to be inserted were already present on the subscriber. We deleted the rows and replication carried on as normal.
The client insists that they have changed no data on the subscriber database, and is asking how this happened.
Our best guess is that an error in the replication process caused commands to be sent more than once to the subscriber, but we are unsure why or how that would come about.
Has anyone experienced anything similar, or does anyone know how this may happen?