I have a transactional replication between two SQL Server 2008 SP1 servers, both on Windows 2003 Server. I discovered that there are discrepancies between some of the tables of the main database and the subscription database. I've done a manual validation over the record counts and there are small differences. I know there's a latency between the two sides, so that's not to worry too much, but there is a specific table that will not synchronize no matter what (new rows appear, but some specific older rows do not appear, so they look like they were removed after synchronization).
The situation is that the subscription database is not read-only, so an application may read and also write data to this database.
Now I'd like to know what solutions would you use for synchronizing the two sides. I can think of two right now:
use the tablediff.exe utility for each article to compare source and target tables and generate scripts
reinitialize the subscription so it will invalidate last snapshot and generate a new one.
Are there any other solutions to fix this?