0

有没有人有从 SQL Server 2008R2 升级到 2016 的经验?

我们的系统在 2008R2 上运行良好,但升级到 2016 后,我们遇到了高 tempdb 争用。

我们看到 PAGELATCH_SH 上的大量阻塞等待 tempdb 对象。PLE 为 99.98%。MAXDOP 为 6(机器有 8 个核心/NUMA)。MAXDOP 阈值为 50。

随机查询的运行时间超过 30 秒,但是当我尝试从 SSMS 运行相同的查询时,它们会运行亚秒级,这验证了阻塞是问题所在。我们目前使用 16 个临时文件,今晚增加到 34 个。

我们今天发现 tempdb 日志的 io_stall_write_ms 超过 200,000 毫秒,我们今晚将其移至 SAN,但我不相信它解释了页面锁存器的长时间等待。

我的想法已经走到了尽头。有没有人有什么建议?

4

1 回答 1

0

我们遇到了类似的问题,结果证明是新的基数估计量。尝试将数据库的兼容模式更改回 2008 并进行比较。

于 2017-04-19T22:36:53.043 回答