When a transaction is executed on any database, that transaction must be executed with appropriate privileges (for example, INSERT, DELETE, and UPDATE privileges on the tables). When a transaction is propagated from a replica database to the master database, the transaction must execute with appropriate privileges on the master database. Executing with appropriate privileges on the replica database is not sufficient to guarantee that the transaction will execute with appropriate privileges on the master database.
To ensure that propagated transactions can be executed on the master database, you must map a replica user to a corresponding master user who has the appropriate privileges.
Synchronization messages are labeled with the master user name of the creator of the message. solidDB uses the master user name to specify the account under which the message is executed. All subscriptions are executed using this account. Each transaction uses the master user who saved the statements in the replica.
If a user mapping is not defined, the first Advanced Replication data synchronization operation (for example, SAVE or MESSAGE statement) returns the "no active master user" error.
To map replica users to master users, complete the following steps:
Note When users on the master database change, you might need to update the mapping information or your replica users might map to master users that are no longer appropriate or that no longer exist.