I'm looking into utilizing MSMQ in our enterprise applications. The one area I haven't been able to find information on is with disaster-recovery.
Scenario
A fire has broken out in the server room. All the equipment has been destroyed and we need to run the operations out of a backup site several miles away.
With SQL server, we have replication enabled which provides a stand-by copy of the operation database at the backup site. In the event of disaster, we can switch over to the stand-by site and continue with an up-to-date database.
With MSMQ, I would like to know how I can achieve the same style of replication, so that if the server a queue is hosted on suddenly ceases to exist, we should be able to switch to a stand-by queue which contains the same unprocessed messages.
Can this be achieved? If MSMQ can't easily manage this, is it possible to do something at the storage level?
Best Answer
There's nothing in MSMQ which will do this automatically. You've got a couple of options.
Make sure that the queue is setup to allow the messages to be read into the queue and not purged after restart of the MSMQ service.