Transactional replication works well for reporting purposes. It is preferable
to log shipping in that log shipping will require an exclusive database lock
when applying the transaction logs, unlike transactional replication. When
the commands are applied at the subscriber in transactional replication there
will be locks like for any other data modification. If this is a problem, it
can be mitigated when reporting by using the snapshot committed isolation
level, or NOLOCK.
Replication is resilient over a LAN and ACID properties are recognised.
You mention failover - this is quite a different requirement to a reporting
database and for this I'd generally recommend database mirroring.
HTH,
Paul Ibison,
www.replicationanswers.com