Suppose there are some databases: P, S1, S2, S3 etc.
P (publisher) has some tables that need to be replicated (cloned and synchronized) on S1, S2 and S3 (subscribers). The copies of those tables will be read-only. Furthermore, the copies will be referenced (via foreign keys) by some other tables within S1, S2, S3 etc.
For example,
- P has tables P.O1 and P.O2. S1 will have S1.O1_copy, S1.O2_copy and S1.OTHER, with S1.OTHER referencing S1.O1_copy.
From your experience, it is ok to use SQL Server Transactional Replication (as far as I know, that's a log-based replication) for this scenario? Or should I better use trigger-based replication? Though, I suppose triggers may need to be updated every time a new subscriber (database) is added.
The tables from P that need to be replicated are rarely updated, but the update operation needs to be transactional, to ensure data consistency (any read from a replica should return the latest snapshot of the requested data).
Thank you :)