Read-only copy of SQL Server database
You could implementation Replication if there is a subset of data that you are looking to read from.  Replication publishes articles to subscribers.  It's a great way for a subset of data that needs to be recent data.

If you are looking for a read-only copy of the whole database, though, and the data doesn't need realtime accuracy, you could create snapshots every morning with a job.  That way the OLAP can be done against the snapshot.  Or if you need the data to be a maximum of 4 hours old you can do that. (or whatever schedule you find the need to "refresh" the data)