We have a modest server running our main app which is a generic, internal corporate app, more OLTP-ish than anything else, with less than a hundred users who would ever modify data. However there are a thousand or more who want to view the data, in something like realtime (under a minute, let's say). So we want to set up a second server to handle this read-only load for "reporting". The question is what architecture to use.
Asynch mirroring sounds like what we want, but it requires an Enterprise license.
That's probably doable BUT then you read Microsoft's literature for SQL 2012 and it says mirroring is deprecated and everyone should use AlwaysOn.
But AlwaysOn requires Windows Clustering, even for a degenerate case like a reporting database!??!?
So, I'm afraid it's looking to me like our best bet would be good ol' transactional replication, which I tend not to trust very much.
Is that really where Microsoft is sending me?
Actually, it may be that the "best" architecture would be a custom-written publication to a datamart that doesn't look at all like the OLTP database, but of course that's also going to be the most work.
Anyway, I'm just peeved at the idea that it looks like Microsoft is making it so hard to use asynch mirroring which would otherwise be a clear winner, and looking for any wisdom on the matter.
Thanks,
Josh
ps - another architectural solution is to bulk up the main server and put the new load right there, which is certainly doable but might knock us out of the VM farm and onto our own real server. And it's never an elegant solution to mix workloads like that - if this *is* mixing workloads.