在同一个可用性组中拥有多个数据库与每个数据库具有单个 AG 相比有什么好处

Vad*_* K. 5 sql-server-2012 availability-groups

我们正在计划从当前的镜像架构迁移到多个数据库的可用性组。对于每个数据库,我们都定义了主要/次要副本配置。

我不确定的问题是:我们是否需要将具有相同主要/次要配置的数据库分组到同一个 AG 中,还是每个数据库使用一个 AG。拥有多个数据库的单个 AG 与 AG 的优缺点是什么?是否有最佳实践来确定数据库是否需要自己的 AG 或可以与其他数据库结合使用?任何性能或故障转移优势?

AMt*_*two 5

可用性组是故障转移的单位。因此,在考虑如何将数据库分组到一个 AG 中时,请记住所有这些 DB 将一起进行故障转移。

如果有多个数据库必须一起进行故障转移,那么我建议将这些数据库放入单个 AG。

同样,您可能拥有完全独立的数据库,您希望将它们放在单独的 AG 中,以便一个的故障转移不会影响另一个。

在某些情况下,您可能希望基于一起进行故障转移的逻辑组将数据库放入 AG,即使它们在技术上可以独立进行故障转移。

每个 AG 拥有过多 AG 或过多 DB 都可能是管理难题。例如:

  • 如果您有 50 个 DB,每个 DB 都在它自己的 AG 中:您将有 50 个唯一的连接字符串需要管理,并且要为计划的故障转移执行 50 个故障转移。
  • 如果您在单个 AG 中有 50 个 DB:如果一个数据库出现问题需要进行故障转移,那么其他 49 个数据库也需要进行故障转移,所有 50 个数据库在故障转移期间都会发生短暂中断。