我提出了一个具有以下内容的 Azure 环境:
- 用于核心关系数据的 VM SQL Server
- 大容量数据的表存储
我想将 SQL Server 数据库镜像到另一台服务器,以便
- 报告可以在此服务器上运行,以最大限度地减少主数据库上的数据负载,并且
- 如果主服务器出现故障,它可以用作故障转移服务器。
为了实现这两个目标,我还需要镜像 Azure 表存储。我似乎找不到任何关于此的信息。这甚至可能吗?
我提出了一个具有以下内容的 Azure 环境:
我想将 SQL Server 数据库镜像到另一台服务器,以便
为了实现这两个目标,我还需要镜像 Azure 表存储。我似乎找不到任何关于此的信息。这甚至可能吗?
很少有需要镜像表存储的情况。无论如何,Windows Azure 都会这样做,如果使用异地冗余选项,则会在多个位置保留 4 个数据副本。3 个跨不同故障和升级域存储在当前数据中心,另外一个副本存储在不同的数据中心。
因此,Azure 存储“原样”可以处理数据中心的完全故障。如果您想反映自己,这意味着您正在计划同时在两个数据中心发生中断的可能性。这仅在极少数情况下是必需的。
镜像(或复制)不是备份。因此,除了复制数据之外,您可能还想备份它,这是一个不同的问题。如果您错误地删除或更新某些内容,复制将无济于事。
如果在设置存储帐户时选择 RA-GRS 冗余选项,则 Azure 存储服务将在辅助数据中心异步复制存储数据(表、blob)。所有 azure 数据中心都有一个预定义的辅助数据中心,请在此处查看配对 dc 的完整列表:https ://docs.microsoft.com/en-us/azure/best-practices-availability-paired-regions
在回退方面要知道的关键是,如果您选择 RA-GRS,您将可以访问辅助数据中心存储帐户,但它将是只读的。所以你将无法写入它。这就是为什么 RA-GRS 存储帐户的读取可用性为 99.99% 而写入可用性为 99.9%。在托管主存储帐户的 dc 上的存储服务关闭的后备方案中,SDK 将透明地重试对辅助帐户的读取,但如果您希望能够继续写入,那么您需要为此提供自定义解决方案,因为像提到的辅助帐户是只读的。
我相信 azure 确实会在整个 dc 出现故障时回退到次要读取和写入等。我从来没有遇到过这种情况,所以我不太确定这方面的细节。
而且,如果您出于延迟目的等原因想要跨 2 个以上的区域进行复制,那么您也需要您的解决方案,这可能只是将写入加载到队列和将实体复制到多个区域的工作角色。