我有一个带有 SQL Server 2016 企业版和 4 个可用性组的 WSFC。每台服务器有 1 个 CPU 和 6 核 @ 3.4GHz 和 256GB 的 RAM。
目前我在每个实例上都有一个实例,它们为 4 个可用性组提供服务,在 95 个数据库中总共有约 300 GB 的数据。
我的任务是将更多数据库(35 个数据库,235 GB 数据)迁移到这个环境中,我敢肯定这将是一件轻而易举的事——如果不是因为这些数据库来自另一个排序规则的集群。因此,我正在考虑在每台服务器上添加一个实例并为此排序规则创建一个单独的可用性组。
为了帮助保持排序和简单,我将在每个服务器上为新实例添加一个 IP 地址。这样我就可以在端口 1433 上处理这两个实例,并且不需要在可用性组创建中对其进行分类 - 至少这是我的想法。(我在具有 3 个实例的单个服务器上使用了这种方法 - 它们都有自己的 IP 地址,无需通过实例名称来寻址它们 - 在数据库需要迁移到另一台服务器的情况下很容易。)
几年前我发现了一个类似的问题,但由于多次实例没有明显的原因,因此 TS 收到了很多为什么、不做和什么。在我的情况下,由于整理问题,我真的需要一个额外的实例,我对社区的问题是:有没有人可以告诉我“是”或“否”?如果有任何一个答案 - 你能给我一个很好的动力吗?
如果我不能添加实例,我将不得不使用另一台服务器,并且由于企业版的许可成本,这将是一个非集群解决方案——减少正常运行时间、使补丁程序复杂化、消除冗余等等。所以:我可以这样做吗?
考虑到有一个具有 6 个内核的插槽并将容纳 130 个数据库,这已经是可用线程的很大一部分,仅用于 Always On 使用,不计算其他任何东西。
是否要求实例级别排序规则与数据库排序规则相同?这还不清楚。
添加另一个实例只会对您将遇到的不可避免的问题进行故障排除,因为现在您需要监控两个实例以查看一个实例如何影响另一个实例,而另一个实例出现问题。
我个人不会这样做。
你把已经讨论过的东西放在一边,想要一个绝对主义的答案来回答一个只有你自己才能访问的环境,这是一个相当困难的问题。
我不会添加另一个实例,而是将另一组节点添加到集群或创建一个新集群,以便项目是分开的。目前尚不清楚是否要求实例级排序规则与数据库级排序规则相匹配,因此我们甚至不确定是否需要另一个实例。
撇开许可不谈,一个独立的实例会简化补丁——使用 AG 会使补丁复杂化。
恐怕这或多或少归结为两件事:
在阅读了 Sean 的意见后,我决定不要冒险让运行良好的集群陷入困境,并可能带来可怕的后果。由于我不确定是否可以忽略排序规则的差异,因此我在虚拟机上安装了单独的 SQL Server。