我们最近在 SQL Server 2014 HADR 环境中遇到了一个问题,其中一台服务器用完了工作线程。
我们收到消息:
AlwaysOn 可用性组的线程池无法启动新的工作线程,因为没有足够的可用工作线程。
我已经打开了另一个问题,以获得(我认为)应该帮助我分析问题的声明(是否可以查看哪个 SPID 使用哪个调度程序(工作线程)?)。虽然我现在有查询来查找正在使用系统的线程,但我不明白为什么该服务器用完了工作线程。
我们的环境如下:
因此,出现问题的服务器具有以下配置:
MAXDOP = 8Cost Threshold for Parallelism = 50为了“解决”该问题,我们手动将一个可用性组故障转移到辅助服务器。该服务器的配置现在是:
我正在使用以下语句监视可用线程:
declare @max int
select @max = max_workers_count from …Run Code Online (Sandbox Code Playgroud)