Can anybody help me understand why do one go combination of Database Mirroring + Replication. Why can't I just have Database mirroring for high availability of my database. What is the need of combining replication as well. In what scenario's we choose combining both these technologies.? Can anyone give an example of combining these 2 technologies ? I am not sure if people a make things complex combining all high availability solutions. ( Clustering + db mirroring + replication)
Clustering, DB Mirroring, and Replication can all play a role in high availability. There is a paper written by Gopal Ashok & Paul S. Randal at the following location:
The basic thrust is using mirroring to give you a more reliable source of data for running replication. That way, if the main server fails and the mirror server takes over, replication can be configured to continue running from the mirror server.
Since replication can be going out to many subscribing servers, the mirror in this case may keep the data flowing to many other servers. In a replication environment that can save a lot of extra work and downtime in case of a failure.
When you have Mirroring and Replication you usually have two different problems that you are trying to solve. You are using the mirroring to solve a high availability problem and you are using replication to give yourself a scale out solution probably for reporting.