我有一个场景,其中配置了 SQL Server 2012 - Always-on 功能。主要和次要同步用于故障转移目的。我知道我们将有 node 1 (PRIMARY) 和 node 2 。我也知道在故障转移期间节点 2 变为主节点。
我的问题是,(同步提交设置)
- 当应用程序发送 INSERT 或任何 SQL 事务时,哪个节点首先执行?它在 PRIMARY 上吗?
- 当节点 1 发生故障时,节点 2 将成为 PRIMARY,但是谁来弥补节点 1 呢?我需要设置警报吗?如果节点 1 死亡,那么 HA 和 DR 如何工作?
- 主动-被动或主动-主动有什么区别?
在哪里可以找到有关永远在线架构的详细信息?我读过很多文章,但没有一篇解释过内部结构。
1) 来自AlwaysOn 可用性组概述 (SQL Server)
所以,先初级,后次级。
2) 你是在问节点 1 是如何重新上线的?这就是您的运营人员和 DBA 支付巨额薪水所做的事情。
警报将是一个好主意。甚至可能是个好主意。
如果节点 1 挂掉,AlwaysOn 将重新定向连接到节点 2,这对应用程序是透明的。飞行中的工作可能会收到错误。新连接将被路由到节点 2。这就是HA 和 DR 的作用。当节点 1 恢复时,您可以继续在作为主节点的节点 2 上运行,并让节点 1 作为辅助节点,或者在您选择的时间组织托管故障恢复。如果节点 2 挂掉而节点 1 仍然关闭,那么你就有问题了。
3) Active-passive 将次要设置为“暖”:它准备好在需要时成为主要但在此之前不能执行任何应用程序工作。Active-active 有一个“热”辅助:它可以处理来自应用程序的只读事务,并用于备份等。IIRC 主动-被动需要一个许可证,主动-主动需要两个许可证。