使用 SQL Server AlwaysOn 创建侦听器突然停止工作

Posted

技术标签:

【中文标题】使用 SQL Server AlwaysOn 创建侦听器突然停止工作【英文标题】:Creating listeners with SQL Server AlwaysOn suddenly stopped working 【发布时间】:2015-11-15 08:03:32 【问题描述】:

问题:我使用 SQL Server 创建了 10 个 AlwaysOn 可用性组,没有任何问题。突然,它停止工作,我只在“创建侦听器”部分得到这个:

消息 19471,第 16 级,状态 0,第 9 行 WSFC 群集无法使 DNS 名称为“L_MyListener”的网络名称资源联机。 DNS 名称可能已被占用或与现有名称服务发生冲突,或者 WSFC 群集服务可能未运行或无法访问。使用不同的 DNS 名称来解决名称冲突,或查看 WSFC 集群日志以获取更多信息。

有时我也收到了 Msg 19476。这太让人抓狂了,因为有一刻我正在创建侦听器和可用性组,感觉自己像个大师,然后一切都停止了,我浪费了几个小时的时间。

那么你如何解决这个问题?当然,微软自己在上述错误描述中建议的文字并没有帮助。

【问题讨论】:

【参考方案1】:

显然,如果您看的话,每个听众实际上是在 Active Directory 中创建一个迷你“计算机”。而且...这里是踢球者,域用户只能将计算机加入域的次数有限,默认值为 10。谁会想到添加侦听器等同于将用户加入域!???!微软真的应该让这个监听器更直观,至少在他们对可能问题的描述文本中。

好吧,在您的域控制器上,打开 ADSI Edit,第一次配置它以查看您域的默认命名上下文,例如“DC=yourname...”,其下方有 CN= 行。现在,右键单击“DC=”行,选择“属性”并向下导航到 ms-DS-MachineAccountQuota 并将限制从 10 增加到 100 之类的其他值。

您可能需要在要再次尝试添加侦听器的 SQL Server 上运行“GPUPDATE /FORCE”。在重试之前,您可能还需要清理它留下的烂摊子(即删除并恢复设置组和侦听器的错误尝试)。

假设 SQL Server 2016 将要求每个数据库在其自己的组中,并具有自己的侦听器,人们将很容易达到这个 10 的限制!

我希望这对你有帮助。如果是这样,请将其标记为左侧的答案。当然,人们可能会收到此错误还有其他原因,例如现在的 Microsoft 错误,但整篇文章都是针对那些让它工作得很好然后突然停止的人。

【讨论】:

以上是关于使用 SQL Server AlwaysOn 创建侦听器突然停止工作的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server Alwayson创建代理作业注意事项

SQL Server Alwayson搭建五:Alwayson配置

SQL Server 2016 Failover +AlwaysOn 增加数据库到可用性组

Ubuntu上配置SQL Server AlwaysOn

SQL Server 2016 Failover Cluster+ ALwaysOn--增多个侦听器

SQL Server 2017 AlwaysOn AG 自动初始化