I am being asked to create a copy of one of our production databases on the same instance. This copy will be used for reporting and end users will be pointed to it rather than the production database. This "shadow" database will be kept read only to the end users and is the primary reason to point them to the copy rather than the original. What is the best approach to keep this database up to date to within maybe 15 minutes or an hour of production database changes? Mirroring? Log Shipping? Replication? Database Snapshot? I would like your thoughts.