Dan Pahnke · Aug 12, 2020

Updating remote database on failover member from a reporting async

I have a Read-Only Reporting Async with a Remote Database defined to a non-mirrored database on the primary failover member. I would like to update the non-mirrored database on the primary from the async; so far all my attempts fail with *protect* errors.

I found this page

and tried the SqlProc method. The procedure executed, no errors, but the change to the global was never made (or least not retained) either directly or through a JOBbed process. I wonder if I'm missing something in my configuration. If not, then I'm torn between using REST (simple but extra overhead, moving parts, etc.) and using non-DB storage (just "ugh"). I also tried it with a Read-Write Reporting Async with the same lack of desired results.

My lab is running IRIS for Windows (x86-64) 2019.1.1 however it has to run on Cache for Windows (x86-64) 2018.1.3 also.

Can anyone offer advice?



2 0 2 76


Is the database journaled? Remote non-mirrored databases on mirrored ECP database servers can only be mounted read-write on the ECP application server (in this case the reporting async) if the database is NOT journaled on the database server. This is documented here:

"Select the database you want to access over this ECP channel from the list of remote databases. You can select both mirrored databases (databases listed as :mirror:mirror_name:mirror_DB_name) and nonmirrored databases (databases listed as :ds:DB_name); only mirrored databases remain accessible to the application server in the event of mirror failover. When the data server is a failover member, mirrored databases are added as read-write, and nonmirrored databases are added as read-only, if journaled, or read-write, if not journaled; when the data server is a DR async member, all databases are added as read-only."

Thanks Pete.

I read the first 4 words of your reply and the heel of my hand slapped my forehead; I knew that. It works now. Again, many thanks.