I'm researching SQL Server Transactional Replication. We are developing three internal applications where each application will have its own database. We have a need to allow the same user access the different applications.
We are thinking of having a User
database that is separate from the application database so we are not duplicating user data in three different databases. We would like the User
database to be the publisher and the three application databases to be the subscriber in the replication process. We think the publisher database will push
newly registered users to the subscribers so we are replicating user data (inserts/updates/deletes).
Will the publishing of user from publisher to subscribers happen within a transaction? Does the transaction
piece of transactional replication guarantee that the push from publisher to subscriber(s) completes successfully?
The net result of registration will be a token which contains the user's GUID (among other data points). The token, created after registration completes, is returned to the calling application so the user can continue with its journey with the target application.
The target application will unpack the token and use the user's GUID to make sure the user has access to the application. So, the replication process has to push the user's GUID to subscriber databases so the user's GUID is available once the target app unpacks the token and checks the existence of the user's GUID in the corresponding application database.
Are we looking at this correctly? Any guidance on this approach is greatly appreciated. Thanks.