I am proposing an Azure environment with the following:
- VM SQL Server for core relational data
- Table Storage for bulk data
I want to mirror the SQL Server database to another server so that
- Reports can be run on this server so to minimize data load on the primary database, and
- It can serve as a failover server in case the primary server goes down.
In order to achieve these 2 objectives I would also need to mirror the Azure Table Storage too. I can't seem to find any information on this. Is this even possible?
When using Azure Table storage, you get "local", with-the-same-DC, redundancy with the basic service. "Geo-redundant" storage allows you to spread your data around the world, but costs extra. Details are here.
Good point by @darin in terms of Table Storage being locally-redundant within a single data center (3 copies), and optionally geo-redundant (which is asynchronously done across data center). A few things to add:
Table Storage is not on a single server. That is, there's no single point of failure. This is a highly-available storage system. Even if internal nodes fail, you would not be aware of it.
If, for some reason, your storage account became unavailable, it's possible the storage system is still operational. In this case, if you had a model where you wrote two to storage accounts within the same DC, you'd have data availability by switching storage accounts.
If, indeed, the storage system in a particular data center went completely offline for some reason, you would need your own mirror of your data somewhere else (you don't have access to the geo-redundant copy; that's for Azure's Disaster Recovery usage).