Use the following procedure to initiate the failback process using controlled transition:
1. Shut down and restart both databases. Doing so ensures that all source activity is flushed and, in turn, replicated to the target database.
2. Verify the synchronization of the databases by doing one of the following:
Examining the database log file for a message confirming that the databases are synchronized.
Using the following command:
dsrutil source-db-name -C status -detail
When a status of 3049 is returned, both databases are synchronized.
3. Shut down the databases again.
4. Issue the following command on the primary machine:
dsrutil primary-db-name -C transition
This command transitions the primary database into a source, as shown:
If the transition fails, you can restart the secondary database to allow production work to continue. You can then attempt the failback operation again when you can once more schedule downtime.
After the transition of the primary database to source database completes, transition of the secondary database can begin.
5. On the secondary machine, issue the following command to transition the secondary database to a target database:
dsrutil secondary-db-name -C transition
If the transition of the secondary database fails, you can start the primary database as the source database. This allows production activity again to proceed normally.
If a transition failure does occur and you do start the primary database, you must still complete the transition of this secondary database to the role of a target database. You can do this by again executing the command provided earlier in this step.
After the command completes normally, the transition of the secondary database to target is complete, as shown:
At this point the roles that both databases had during secondary replication have been reversed:
The primary database is again the production database.
The secondary database is again the target.
Primary replication is again being performed as it was before the initial failure occurred. The Replication server is replicating all primary transactions to the secondary database, as shown in the following figure.