Read only Async mirror setup

I have setup an async reporting mirror member with Read only access.  My problem is that if I try to do any sql reporting against that data I am getting errors.  I am sure that this is because the DB is read only, but I had assumed that setting up a reporting mirror would handle this.

 

I there a setting or mapping  I am missing?

  • 0
  • 0
  • 350
  • 3
  • 4

Answers

There were problems like this in query compilation in some versions?  What error do you get and what version are you using?

The Cache Version is Cache for Windows (x86-64) 2016.1.2 (Build 206) Mon Jul 25 2016 16:59:55 EDT.  The attached image shows the error.

This is the latest maintenance release and I know of no bug like this there, so this needs to be investigated to understand the error.  To your original question, there is nothing special you need to do to run SQL SELECT against an async mirror member, even when its databases are read-only.

Is is possible you have a version mismatch here?

There is a new parameter for %Library.Integer called STRICT, but I believe this is only in version 2016.2 and up.

I don't have much knowledge about mirroring, but if your main system was a 2016.2 field test version, and your mirrored system was 2016.1.2, the 2016.1.2 system would not recognize STRICT as being a valid type parameter for %Integer properties.

David,

You win the prize.   Version miss-match was the issue.  This caused several different errors depending on the class I was attempting to query.  Upgrading to the same version across the board resolved them all at least to this point.

Database mirroring is a solution for increasing the availability of a SQL Server database. Mirroring is implemented on a per-database basis and works only with databases that use the full recovery model. The only mirror of SQL Server DBM is in principle not accessible for read-only activity. However using another technology of SQL Server Database Snapshots, one can make this happen.

Comments

Are you actually making any changes to the data? If so, you should use a read-write reporting async. If not, it'd be useful to know the exact errors you're getting.