The new database mirroring feature in SQL Server 2005 SP1 is pretty cool and should help availability.
But it still has a # of serious drawbacks that prevent it from being as useful as it could be.
The primary one from my point of view is that you can't "use" the mirror server (well) as a read only server. Yes, there is a workaround from MSFT where you can take snapshots periodically so that you can use it as a read only server. But of course the data is delayed...making is useless to offload read processing for your online system...and relegating it to a delayed reporting server only. You could increase the frequency of the snapshots, but this stops working after a while, becuase if you do it too often, you start delaying access to the data while it's being generated. So it has limited usage.
Below is an interesting article from Oracle comparing 2005 Database Mirroring to "Oracle Data Guard". It talks about some of the flaws and problems and mirroring, and how Oracle's product (which is more mature) doesn't have these issues. Oracle even has a feature to undo human errors, and many other really useful things that I'd love to see in the next version of SQL Server. Hopefully someone from Microsoft has already read this and is working hard on these things for version #2?
http://www.oracle.com/technology/deploy/availability/htdocs/DataGuardDatabaseMirroring.html
Ian Ippolito