深入了解SQLServer数据库的线程与纤程

深入了解SQLServer数据库的线程与纤程,第1张

概述Microsoft® SQL Server™ 的错误日志可能会显示如下消息: 工作线程限制 255 已经达到。 这条消息是信息消息,并不表明系统有任何问题。 SQL Server 维护一个 *** 作系统线程池,以便执行从客户端送达的成批 SQL 语句。在 Microsoft Windows NT® 上,如果服务器的 lightweight pooling 配置选项设为 1,则 SQL Server 不再

Microsoft® SQL Server™ 的错误日志可能会显示如下消息:

工作线程限制 255 已经达到。

这条消息是信息消息,并不表明系统有任何问题。

sql Server 维护一个 *** 作系统线程池,以便执行从客户端送达的成批 sql 语句。在 Microsoft Windows NT® 上,如果服务器的 lightweight pooling 配置选项设为 1,则 sql Server 不再维护线程,转而维护一个纤程池;纤程使用比线程更少的资源。使用线程池或纤程池,可以使 sql Server 在同时执行多个 sql 语句时优化处理时间分配。该池中的线程或纤程共同作为工作线程。有关更多信息,请参见线程和任务构架。

工作线程数是由服务器配置选项 max worker threads 控制的。默认值为 255 而且几乎不需要更改。

当从客户端收到一批 Transact-sql 语句时,如果现有的工作线程空闲,就会分配它来执行这个批处理。如果没有空闲的现有工作线程而且工作线程数少于 max worker threads,那么就会分配一个新的工作线程。如果没有空闲的工作线程而且已经达到 max worker threads,那么新的批处理就要一直等到现有工作线程完成其当前批处理任务而空闲为止。当工作线程数达到 max worker threads 时,sql Server 显示如下消息:

工作线程限制 255 已经达到。

对所有工作线程进行分配,并不意味着 sql Server 的性能会降低。通常,新的批处理等待空闲线程只需要很短的时间。分配更多的线程可能会降低性能,因为增加的工作需要在线程之间协调资源。很多在生产状态运行的 sql Server 系统都会达到这样的状态,而且以非常高的性能级别运行。

总结

以上是内存溢出为你收集整理的深入了解SQLServer数据库的线程与纤程全部内容,希望文章能够帮你解决深入了解SQLServer数据库的线程与纤程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/1178993.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-02
下一篇2022-06-02

发表评论

登录后才能评论

评论列表(0条)

    保存