sql-server – MS SQL Server中的数百个休眠进程会降低性能吗?

我们有一个相当大的sql数据库(24 GB),用户可以在其上运行报告.有些报道是密集的,但一般都很快 – 几分钟.

我们在最近几周看到一个问题,这些相同的报告将需要20分钟,这没有任何意义 – 报告sql都没有改变.

在调查期间,我发现活动监视器中有数百个(当前超过300个)睡眠任务.我们在工作站上有大约30个用户,可能有十几个Web用户(使用访问此数据的门户网站).所以300个睡眠过程对我来说似乎很疯狂.

随机信息的另一点是,如果我们重新启动sql服务器,报告就像闪电一样运行.经过几个小时 – 废话.

我正试图追踪这个问题,我不知道该怎么做,但我想现在的问题是:这些沉睡的过程是否会降低性能,导致这样的减速?

非常感谢.

解决方法

睡眠过程消耗一些内存(每个内存几十k)但300不是很多.

如果报告在重启时快速闪亮,则可能有参数嗅探.

您可以为运行sp_updatestats测试此操作:这会使缓存的执行计划失效,并应使报告再次出现问题.

参数嗅探本身可以通过屏蔽提示解决(StackOverflow上的大量信息)

相关文章

(一)日志传送架构 (1.1)相关服务器 主服务器 :用于生产的服务器,上面运行这生产SQL Server数据库...
(一)事故背景 最近在SQL Server 2012生产数据库上配置完事物复制(发布订阅)后,生产数据库业务出现了...
(一)测试目的 目前公司使用的SQL SERVER 2012高可用环境为主备模式,其中主库可执行读写操作,备库既...
(一)背景个人在使用sql server时,用到了sql server的发布订阅来做主从同步,类似MySQL的异步复制。在...
UNION和OR谓词 找出 product 和 product2 中售价高于 500 的商品的基本信息. select * from product wh...
datawhale组队学习task03