在SQL2012中,我有一个主动和被动的HAG节点。当存在与连接字符串一起传递的“只读”参数时,被动节点经常被击中。因此,例如,报表将在日常基础上使用这种类型的连接。
最近我们建立了一个QA环境,HAG作为主动主动的,所以没有被动节点.通过与DBA的对话,我被告知两个设置(主动-主动和主动-被动)之间的区别是,在失败的情况下,主动-主动设置将允许到的“读-写”连接继续工作。
在主动-被动失效的情况下,任何“读-写”连接都不能工作,因为被动的DB只允许“只读”类型的连接。此外,更多像SSRS这样的工具会失败,因为一次只能在一个节点中设置它们。目前,我们只将它安装在被动节点中。这是没有意义的,因为被动节点是一个节点,这意味着我们应该能够在活动节点中安装它。从技术上讲,这一切都是合理的.但后来就没有了。
不管设置如何,HAG组的主要目的之一不是提供失败的保护吗?有人能弄清楚这件事吗?
发布于 2015-05-05 04:50:35
我认为要么你误解了你的DBA,要么它们是不正确的。
在可用性组中,您有三个选项来说明您希望次要节点的行为方式(从大多数到最不允许的顺序):
对于主副本还有两个选项(同样是为了从大多数到最不允许的顺序):
令人有点困惑的是,每个副本都配置了此首选项。也就是说,您可以有以下配置:
在故障转移情况下,主节点的角色被转移到另一个节点,每个副本都服从为其配置的任何语义。所以,在我上面的例子中,如果主节点是Node A,任何连接到它的应用程序都将被接受,而只有只读连接将在节点B接受。当发生故障转移(使节点B为主节点)时,节点B只接受读-写连接,而节点A不接受连接。我认为为了避免混淆,以相同的方式配置所有节点是最好的。但是,请与您的DBA交谈,并询问每个节点在主角色和次要角色中的行为。
https://stackoverflow.com/questions/29925071
复制相似问题