我继承了 SQL 服务器 { 2012 (SP3),但是这个问题是通用的} 我们使用 SCOM 来监视它。以前,我每个月收到一两次 PLE < 300 的警报。现在我有时一天会收到 2 或 3 条警报。
有很多关于 PLE 的博客文章,一些你可以用来监控它的工具,以及关于什么是好的、坏的或无所谓的许多不同的意见。最后有很多变数。没有任何解决方案是一刀切的。低 PLE 与其说是一种症状,不如说是一个问题,它有很多潜在的原因,以及需要考虑的相关措施。
{这一段可能不会增加问题的价值,我愿意删除它} 我想每个人都同意在隔夜报告创建期间 PLE 每月一次下降到 299,是一种不需要解决的症状(假设报告在营业时间之前完成)。大多数人也同意 PLE 一直保持在 350 是不好的。在进行硬件更改之前,有几个原因需要考虑,查询和索引接近顶部。
在阅读了大约 12 篇关于 PLE 的博客文章后。我试图缩小关键症状的范围,以便对正在发生的事情有一个很好的了解。下面的查询是我想出的。它给出了与 PLE 互连的 4 个缓冲区管理器项的值
...
SELECT [object_name],
[counter_name],
[cntr_value] FROM sys.dm_os_performance_counters -- https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-performance-counters-transact-sql
WHERE [counter_name] = 'Page life expectancy' --if multiple NUMA on a server should return multiple Nodes,
OR [counter_name] = 'Free list stalls/sec' …
Run Code Online (Sandbox Code Playgroud)