DB mirroring question

  • In asynchronous mode of db mirroring, to manually failover, why do we have to change the transaction safety to FULL?

  • This is to prevent data loss between the principal and mirror databases. Asynchronous commits data to the principal without waiting for it to be committed on the mirror. If you fail-over while in asynchronous mode there is possibility of data loss. If you are able to switch to a synchronous mode first, then once the databases are synchronized you can fail-over without loosing data.

  • in asynchronous mode the only way to perform a failover between partners is to use the following

    ALTER DATABASE [somedb] SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

    As Lynn says, data could be lost so a switch to FULL safety and synchronisation of the mirror session first is required.

    Note that even with FULL safety, if you lose the principal database and have no witness the only way to bring the mirror up is to use the T-SQL command above 😉

    -----------------------------------------------------------------------------------------------------------

    "Ya can't make an omelette without breaking just a few eggs" 😉

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply