我的SQL Server Standard版本11.0.6020.0遇到问题。我大约一个半月前注意到了这个问题。发生的事情是,在服务器上运行我的例行维护时,该作业将永远运行。这是将执行数天的命令的示例:
new WP_Query( $args );
现在,此语句通常立即完成:
StartTime = 2018-12-05 02:00:01.057
EndTime = 2018-12-05 02:00:01.673
但是出于某种原因,它突然出现了问题。我用谷歌搜索了这个问题,直到死了,我发现的唯一线索是某处的文章说tempdb可能已损坏。因此,我停止了服务。删除我的tempdb,然后重新启动服务器。测试了alter index语句和BAM!在几秒钟内完成。以为我解决了问题;我从事我的生意。该修复过程大约持续了4周,然后重新开始。重复我做过的事情,然后才想到我可以再休息几周,不行。这次修复只持续了几天。
您知道是什么导致了我的问题或需要调查什么吗?提前致谢。
**服务器设置** 这在Windows Server 2012 R2 Standard上。 2个CPU,每个CPU带有8个内核。 192 GB RAM。 tempDB有20个数据文件,每个文件的大小为5 GB。
答案 0 :(得分:0)
我终于想出了解决问题的方法,但是对于导致问题的最初原因我一无所知。在维护步骤之前,我运行以下DBCC命令:
DBCC FREEPROCCACHE
DBCC FREESYSTEMCACHE ('tempdb')
我的想法是,缓存的执行计划导致索引碎片整理超出范围。