sql server-Azure表存储镜像



我提议使用以下Azure环境:

  • 用于核心关系数据的VM SQL Server
  • 表大容量数据的存储

我想将SQL Server数据库镜像到另一台服务器,以便

  1. 报表可以在此服务器上运行,以便最大限度地减少主数据库上的数据负载,以及
  2. 它可以作为故障转移服务器,以防主服务器出现故障

为了实现这两个目标,我还需要镜像Azure表存储。我似乎找不到这方面的任何信息。这可能吗?

在极少数情况下需要镜像表存储。Windows Azure无论如何都会这样做,如果使用地理冗余选项,则会在多个位置保留4份数据副本。3存储在当前数据中心的不同故障和升级域中,另一个副本存储在不同的数据中心中。

因此,Azure存储"按原样"可以处理数据中心的完全故障。如果你想镜像自己,这意味着你正在计划两个数据中心同时发生故障的可能性。这只在极少数情况下是必要的。

镜像(或复制)不是备份。因此,除了复制数据外,您可能还需要备份数据,这是另一个问题。如果您错误地删除或更新了某些内容,复制将不会对您有所帮助。

如果您在设置存储帐户时选择RA-GRS冗余选项,那么azure存储服务将在辅助数据中心异步复制您的存储数据(表、Blob)。所有azure数据中心都有一个预定义的辅助数据中心,请参阅此处的配对dc的完整列表:https://learn.microsoft.com/en-us/azure/best-practices-availability-paired-regions

在回退方面需要知道的关键是,如果您选择RA-GRS,您将可以访问辅助数据中心存储帐户,但它将是只读的。因此,您将无法对其进行写入。这就是为什么RA-GRS存储帐户的读取可用性为99.99%,而写入可用性为99.9%。在主存储帐户所在的dc上的存储服务出现故障的后备情况下,SDK将透明地重试对辅助帐户的读取,但如果你想继续写入,那么你需要有一个自定义的解决方案,因为前面提到的辅助帐户是只读的。

我相信azure确实会在整个dc发生故障等重大故障时才回退到secondry进行读写。我从未遇到过这种情况,所以我不太确定细节。

如果出于延迟等目的,您希望跨两个以上的区域进行复制,那么您也需要您的解决方案,这可能只是卸载对队列的写入,以及将实体复制到多个区域的工作人员角色。

最新更新