SQL Server 运行缓慢

3
我有一个每晚都会运行的SQL任务,它执行各种插入/更新/删除。该任务包含40个步骤,主要执行存储过程。
直到一周前,这个任务一直运行得很好,但突然运行时间从2.5小时增加到超过5小时,甚至有时达到8、9、10小时
请问你能为我提供任何指导吗?

索引问题?碎片化磁盘?? - BugFinder
上周发生了什么变化?大量数据插入?新增工作? - Bridge
一次数据插入发生在其中一个表中。该表仅在一个步骤中使用。 - Pavan Dhariwal
哪一步需要更长时间?我们需要具体的细节! - kristianp
1个回答

3
首先,让我向您推荐Simple-Talk网站上一份有价值的资源。这是一个详细的方法论,介绍了如何解决SQL Server性能问题。
你提到的插入操作是否是大批量插入,可能会影响性能。如果是一次巨大的负载,查询执行计划可能不同,需要重新调整表结构、索引等方面。
如果运行时间突然变化,而查询或数据库结构没有进行任何更改,那么我会问自己几个问题:
首先,这个过程是否仍然需要很长时间,还是只是一次运行缓慢?也许现在正在顺畅地运行,问题只是一次出现。尽管如此,仍要找出导致性能不佳的原因,否则它可能再次发生并使服务器崩溃。
服务器是否是专用的SQL服务器?如果不是,请检查是否配置了与SQL引擎无关的新任务。也许一个新的任务正在执行一些繁重的I/O工作,从而使您的增删改查操作需要更长的时间。
如果它是专用服务器,那么请检查是否添加了新的任务,可能会干扰您现有的任务。有关来自SQL Agent的作业设置的详细信息,请查看此SO链接。
也许是由于同一台服务器上的另一个进程导致了低内存?
还有很多要检查的地方,但在深入研究之前,我会检查没有外部(非SQL服务器相关)的原因导致进程执行延迟。

1
最终解决了问题,原来是硬件的问题。由于表中存储了更多的数据,硬件性能不足。感谢大家的回复。 - Pavan Dhariwal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接