SQL Management Pack - Page Life Expectancy Alert

We have SCOM 2012 SP1 and SQL Management Pack 6.4.1.0 in our environment.   It seems that the majority of our SQL servers are reporting the Engine Page Life Expectancy error.  However when I look at the performance data, the alerts are triggering
at random times even when according to the performance data, it is not even close to the threshold.  Even on the alert context, the value well above the threshold in most cases.  
When I look at the monitor in the Authoring pane, the configuration states the threshold and the interval but it does not state what counter it is looking at.  Not sure if that is normal.
I was wondering if anyone else is experiencing this issue.  I am about to disable the monitor since I am not getting consistant alerts
Thanks!

Please also change the critical alert to a warning through creation of an override for all of these objects.
SQL SERVER – What is Page Life Expectancy (PLE) Counter
http://blog.sqlauthority.com/2010/12/13/sql-server-what-is-page-life-expectancy-ple-counter/
Niki Han
TechNet Community Support

Similar Messages

  • Page Life Expectancy Alert with value 0, after Updated SQL Server 2005/2008/2012 MP (6.4.0.0)

    After updating to the new SQL management pack in my lab I start to see Critical alerts for some of my SQL instances, but not all. When looking at the Alert Context the Value is 0. If I open SQL Management Studio and connect to the Instance and run a query
    to get the Page Life Expectancy, I get a high value like 494012, the query I use is:
    SELECT [object_name],
    [counter_name],
    [cntr_value]
    FROM sys.dm_os_performance_counters
    WHERE [object_name] LIKE '%Manager%'
    AND [counter_name] = 'Page life expectancy'
    Could this be an error in this Management Pack, perhaps I should disable this monitor? I also get the same for the monitor Buffer Cache Hit Ratio, also with a Value of 0 in Alert Context.

    Hi Aleksandr,
    That is what I do with the SQL query above.
    Using perfom gives the exact same result. When doing this on one of my servers I see the value is constantly increasing with 1 for each second, currently displaying a value of 335261.
    I think this has to do with improper permissions. I have assigned a dedicated domain user with sysadmin on SQL servers to all the SQL runas profiles. This I did before importing the new SQL Management Pack, and everything was fine. However, after installing
    this new Management Pack I started to see these alerts, and that the Alert Context had a value of 0. I also noticed that my Default Action account needed access to the SQL database. I did not verify it when I looked at it but I believe that the Default Action
    account did not have any rights to the instances where the alerts came from. So, perhaps some of the probing is not properly configured to use the right RunAs accounts.
    Anyways, I will look in to this a bit further when I have some more time... Posting back the results when I have.

  • SQL Management Pack Agent Job Unit Monitors

    I am trying to utilize the SQL Agent Job Monitors included with the SQL Management Pack (page 81 of the MP guide), particularly the "Last Run Status" monitor. I have set an Override for "Generate Alerts" to True. The goal
    is to have an email notification sent when any SQL Agent job fails on a specific group of computers. However, I am not familiar enough with what "Last Run Status" is actually monitoring and if it will do what I am looking for. Does this monitor
    check the job status of any agent job on the target group? I tried setting up a job for it to fail, which it does fail, but it does not generate an alert. Any suggestions appreciated. Thanks.

    1) For monitoring SQL server job status, you can refer to the following blog
    http://blogs.technet.com/b/kevinholman/archive/2011/08/05/how-to-monitor-sql-agent-jobs-using-the-sql-management-pack-and-opsmgr.aspx
    2) For troubleshoot: Make sure that your SQL agent job is discovered, you may find the discovered job under Microsoft SQL Server --> SQL Agent --> SQL agent job status. By default, the discovery is disabled and you should enabled the discovery by using
    override.
    Roger
    Thanks. So I enabled Agent Job discovery for the systems that I want. It discovered those objects. Now, I still cannot get the alerting to work. I can see the Health State of the job change to a Warning, indicating "Last Run Status" equals Failed, but
    it is not generating an alert. I set Overrides (Generates Alert = True) on a Group that included one of the job objects, nothing. I also set the same Override directly on the job object and I still do not receive an alert. Any ideas? I
    noticed someone in the comments mentioned in the blog you linked, a similar issue, except with the Job Duration monitor. However, he was able to get alerts to generate by setting the Override directly on the Job object and noted that it is not a
    feasible solution due to the number of jobs he wants to monitor. Again, I tried the same, but still could not get alerts. That solution would not be acceptable for me either because of the number of jobs that I would have to set individual Overrides for.

  • Page Life Expectancy drops to zero even if buffer has pages that are several minutes old

    Scenario: SQL 2014 with 10 GB allocated memory. There are three tables in a database with 3 GB data in each. PLE is pretty high(1000s).
    I query first table, it gets loaded into memory and takes up 3 GB, verified by sys.dm_os_buffer_descriptors. PLE keeps rising at the rate of 1 per second. I query second table, it gets loaded into memory and takes up another 3 GB. PLE still keeps going
    up at the rate of 1 per second. I query the third table, it gets loaded into memory and takes up 3 GB. SQL flushes out some pages of first table from memory and the first table is now occupying only 500 MB of memory. So, SQL did not flush out all pages
    of first table. The difference between time when the first table was loaded and when the third table was loaded was more than 5 minutes. However, when the third table was loaded, PLE went down to close to 0 even though there
    are pages from first table in memory that are over 5 minutes old. Does someone know why PLE would go down to close to 0? I thought it would go down to somewhere around 300(5 minutes). 
    Note: This was done on a test server with no one else using the server and no other app on the server. So, no interference.

    Hi,
    There was bug in SQL Server 2012 which caused this behavior. Please read this
    support article reason given by MS was
    The resource monitor and lazy writer activities in SQL Server are designed to maintain cache sizes and free list capacities to avoid memory shortage situations. Under rare circumstances, the memory manager in the SQL Server database engine may enable
    the SHRINK state for the Buffer Pool for longer than required. When approaching the memory target, a sudden burst of memory allocations may cause memory allocation failures and internal retries. During the retry activities, the memory manager can enable
    SHRINK states on the various caches in order to support the new memory requests. Under these retries there is a small window in which the SHRINK state may remain enabled longer than necessary to restore the free list capacities.
    This causes a temporary release of more memory than is required to return to a steady state. For example, the buffer pool can release more data pages than required, inflating the free list depths and reducing the page life expectancy (PLE) for the buffer
    pool. In this situation, you'll notice a quick decline in the SQLServer:Buffer Manager\Page life expectancy
    performance counter values and a quick increase in SQLServer:Memory Manager\Free Memory (KB) performance counter values.
    I am not sure you are hitting this behavior in SQL Server 2014.
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it
    My Technet Wiki Article
    MVP

  • SQL Management Pack - login to databases required?

    I've recently imported the SQL Management Packs (version 6.5.4.0) and discovery has been working fine - Databases are being discovered and displayed in the Databases view in the SCOM console. On one of the 2012R2 SQL servers, I noticed these errors in the
    OpsMgr Event Log (see below)
    The information that the MP needs for the Database properties (DB Free space, source log shipping, etc.) seems like it could be achieved without having to login to each individual database. Is there a reason why the SQL MP requires this type of intrusive
    mechanism for querying information? Is there a way to disable these login scripts but still obtain the information about databases?

    You can find the content of the monitoring script here
    http://systemcentercore.com/?GetElement=Microsoft.SQLServer.2012.DBSizeRawPerfProvider&Type=DataSourceModuleType&ManagementPack=Microsoft.SQLServer.2012.Monitoring&Version=6.5.1.0
    I don't have toroughly reviewed it, but if you do you'll probably find
    how it works and why it needs to log into every database.
    Now, if you do believe that you can obtain the same informations using WMI and without logging into the DBs, you'll have to disable every monitor that tries to connect into them and write your own ones...

  • SQL Permissions for the SQL Managment Pack

    Hi,
    Were implementing version 6.5.1.0 of the SQL 2005 2008 2012 Managment pack.  Its going ok, but there is a line...
    Add “SQLDefaultAction” to the dbmodule_users database role.
    that makes no sense.  I can't see dbmodule_users as a database role.  Am i being thick?
    Chris
    Chris Gibson

    Hi Chris,
    Did you follow the SQL management pack guide downloaded here:
    http://www.microsoft.com/en-us/download/details.aspx?id=10631
    To configure runas account for SQL monitor, you may check the article below:
    http://blogs.technet.com/b/kevinholman/archive/2010/09/08/configuring-run-as-accounts-and-profiles-in-r2-a-sql-management-pack-example.aspx
    Regards,
    Yan Li
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected]

  • SQL Cluster Management Pack

    Hello,
    I do not see a specific Management Pack for SQL Cluster... It seems to be the SQL Management Pack 6.1.400.0 and the Operating System Cluster Management Pack...6.0.6720.0 for Windows Server 2008 Cluster Management Library ...
    Am I right?
    Thanks,
    Dom
    System Center Operations Manager 2007 / System Center Configuration Manager 2007 R2 / Forefront Client Security / Forefront Identity Manager

    I implemented the low-privilege setup from the SQL MP guide because on a few standalone SQL instances and one SQL 2012 cluster, not all scripts were running.  The SQL cluster is a two node cluster with 2 SQL instances in and active/active config (One
    instance is active on each node in the cluster).  On the standalone SQL instances, the low-privilege setup is working great.  On the SQL cluster it is not.  Reading the latest SQL MP guide, it appears that SQL 2012 cluster are supported for
    monitoring.  I've made the additional configuration changes that the MP guide says is required for cluster monitoring.  I am getting PowerShell script execution error messages in the OpsMgr console stating a lack of permissions.  When I look
    at the SQL error logs, I see that something is trying to log into the databases as NT AUTHORITY\SYSTEM and can't because access is denied.  That login is not mapped to any databases - obviously.  Why would these workflows be trying to execute as
    NT AUTHORITY\SYSTEM and not one of the the action accounts in the SQL RunAs profiles that I've setup and deployed to the two cluster nodes? 

  • SCOM SQL MP 6.4.1.0 - Alert CPUUsagePercent2008DataSource.ps1

    Hi Everyone,
    Can anyone please help me with the following issue: Forced to terminate the following PowerShell script because it ran past the configured timeout 200 seconds. This alert is showing for the following script(s):
    CPUUsagePercentDataSource.ps1
    DBDiskLatencyDataSource.ps1
    StolenServerMemory2012.ps1
    SQLReCompilation.ps1
    ActiveRequestsDataSource.ps1
    ActiveConnectionsDataSource.ps1
    CPUUsagePercent2012DataSource.ps1
    ActiveSessionsDataSource.ps1
    StolenServerMemory2008.ps1
    CPUUsagePercent2008DataSource.ps1
    I've read in the past that this issue is a bug in the "SQL MP 6.4.1.0". Is this jet fixed or? Thanks in advance for the help! :)

    Hi,
    Please go through the below similar thread for troubleshooting thoughts:
    http://social.technet.microsoft.com/Forums/en-US/c539a55d-dd48-438f-b7d5-06ed2cecf6e9/powershell-script-failed-to-run-alerts-from-sql-management-pack-6410?forum=operationsmanagergeneral
    Hope this helps.
    Regards,
    Yan Li
    Regards, Yan Li

  • AlwaysOn Management Pack not functioning - SCOM 2007R2

    Hi all
    I am a DBA but am new to SCOM and have been trying to get the AlwaysOn Management pack to work.  I manually installed some agents on the 2 boxes I want to manage and can see they are being monitored in the inventory.
    The management pack was already pre-installed by another employee but when I looked into the Administration > Management Packs and clicked on Import I could see that for that particular pack the AlwaysOn features were not installed.  Thinking this
    was the reason why it was not working I installed them.
    I can now see when I go to Discovered Inventory and Change Target Type the AlwaysOn components however they are not monitoring anything.  The only one with an entry is the AlwaysOn seed which shows the 2 boxes, but in a not monitored state.
    Does anyone have any suggestions about how to get this to work?
    Many thanks

    Hi
    SQL needs Run As Accounts and Profiles configuring:
    http://blogs.technet.com/b/kevinholman/archive/2010/09/08/configuring-run-as-accounts-and-profiles-in-r2-a-sql-management-pack-example.aspx
    Is the SQL DBEngine discovered and do you see discovered databases on the server. I suspect you do as it seems to have discovered the Always On components but just want to check.
    Also have you enabled the Agent Proxy setting - Admininstration, Agent Managed, double click - security tab.
    Have you run through page 43 onwards from the guide:
    http://www.microsoft.com/en-us/download/details.aspx?id=10631
    Cheers
    Graham
    Regards Graham New System Center 2012 Blog! -
    http://www.systemcentersolutions.co.uk
    View OpsMgr tips and tricks at
    http://systemcentersolutions.wordpress.com/

  • Distributed Application group relationships not displaying in health view (VSAE created management pack)

    Hi there,
    I am working through my first complex Distributed Application which I have been creating using VSAE. I have followed Brian Wren's training, but the result does not match what I am expecting.
    I have created a single DA (based on the System.Service class) with four groups (base on System.Group) which will be populated with the core components of the application. Each of the groups (and the DA) is configured as a Public, Non-Abstract, Non-Hosted
    Singleton, as per the MPAuthor.Stores example. Each of the four groups is linked via an Internal, Non-Abstract System.Containment relationship to the DA.
    When I open the DA diagram view, I only get the DA class visible. Each of the four groups shows in the Groups node in the Operations Console. Based on the experience with importing the MPAuthor.Stores MP, I was not expecting to see the groups in the Groups
    node, but linked in the DA diagram node.
    I have configured dependency monitors for each of the groups, and these display in the Health Explorer but there is no health rolls up.
    The only difference between the MPAuthor.Stores module and mine (that I am aware of) is MPAuthors.Stores is a 2007 R2 MP, and I have created a 2012 MP as I will be deploying to 2012 SP1 and there is no need for backwards compatibility.

    Hi Vladimir,
    Thanks again for your response. I'm not quite sure what you mean with your last post. My current DA model is:
    | Dist App |
    | System.Service |
    |
    | | | |
    | Group 1 | | Group 2 | | Group 3 | | Group 4 |
    | System.Group | | System.Group | | System.Group | | System.Group |
    Where all the groups have discoveries for membership. Are you saying that I need another level of groups below these to house the objects?
    I thought that the point of System.Group as a base class was that it did not appear in the console, but gave an automatic health rollup (as per TechNet). Interestingly I am not getting
    the automated health rollup for the Groups for their members and it is displaying in the Groups list in the console.
    I have also tried creating a new DA with a single group in an 07 MP, and have the same issue. The sample MPAuthor.Stores management pack works as expected.

  • "one or more management packs which are ready to install present a security risk are you sure you want to continue"

    Hello
    I am installing the following MP (for Windows Client OS)
    http://www.microsoft.com/en-gb/download/confirmation.aspx?id=15700
    Into a new SCOM 2012 R2 environment
    When I go to import the MPs, I receive the following warning
    "one or more management packs which are ready to install present a security risk are you sure you want to continue"
    Is this normal?
    why am I getting this message?
    Should I continue to install any way?
    Thanks All
    AAnotherUser__
    AAnotherUser__

    It's normal. You will receive a prompt indicating that the management pack presents a security risk. This is due to the management pack’s use of agent proxying. Click
    Yes to allow the import.
    That's happened in Exchange management pack or SQL Management pack to can monitor all virtual hosts.
    Yes, you should continue to install Management pack.
    Please remember, if you see a post that helped you please click "Vote As Helpful" and if it answered your question, please click "Mark As Answer"
    Mai Ali | My blog: Technical

  • Looking for a SQL query to get all the possible Alert Messages from the Rules in a Management Pack

    For reporting, I'm looking to get a SQL query of all the possible Alert Messages for Rules configured in a Management Pack (not necessarily the ones that have thrown alerts).  I can do this for Monitors, but not for Rules. 
    The configured alert messages for the Management Pack Monitors
    go like this:  ManagementPack > MonitorView> RuleModule > RuleModule.Alert Message > Localized Text
    The configured alert messages for the Management Pack Rules
    should go something like this, but there is a missing link:  ManagementPack > RuleView > RuleModule > ? Missing Link ? > Localized Text
    The Rules are tied to the Module, but I don't see a connection from the RulesModule to the Alert Message that I see in the LocalizedText. The Rule names do not always equal the Alert name. 
    Can someone provide the missing link?

    Hi,
    please try below powershell code to find the corresponding management pack for specific alert:
    $Alert = get-scomalert | where {$_.Name -like 'Agent Proxy Not Enabled*'} | select -first 1
    If ($alert.IsMonitorAlert -eq "True") {
    write-host "Ths is a monitor-generated alert"
    get-scommonitor -ID $Alert.MonitoringRuleID | select Enabled, DisplayName, ManagementPack
    else
    write-host "This is a rule-generated alert"
    get-scomrule -ID $Alert.MonitoringRuleID | select Enabled, DisplayName, ManagementPack
    In addition, please also refer to the below link:
    http://blogs.technet.com/b/mazenahmed/archive/2011/12/02/using-powershell-to-map-opsmgr-active-alert-to-its-corresponding-rule-monitor-and-management-pack-name.aspx
    Regards,
    Yan Li
    Regards, Yan Li

  • Query used by SQL Server Management Pack for monitoring database backups

    I use SCOM 2012 R2 and the SQL Server Management Pack to monitor SQL Server database backups. I believe I am getting false positives. SCOM reports database are not backuped, while in fact they are. So I need to troubleshoot this. I suspect SCOM is querying
    the backup history in the msdb database. I want to know which query SCOM uses.
    I have tried looking in the monitor's definition but I suspect the query is embedded in the management pack files which are binary. I have also tried running a trace using the SQL Server Profiler on my test environment and overriding the interval to 60 seconds,
    but I don't see a relevant query being executed. I also don't see the alert reappear so I suspect SCOM does not honor the interval in a way I would expect.
    What query, or other method, does SCOM use to check database backups?
    Thanks in advance.

    Thank you both Ivan and Michael,
    I only saw your messages by email and didn't see your screen shot before I extracted the query myself. In my own queries I calculate the backup age in hours instead of days because of daily full backups. Perhaps It will be a good idea to create my own monitors
    from scratch like I used to do with Nagios.
    I will study the vbscripts and might create my own version which allows the query to be entered as an parameter and move all code to a .Net class which can be called from vbscript as an COM object. This way I hope to reduce the vbscript code to an minimum
    while keeping the flexibility of the SCOM Operations Console and the robustness of .Net. I suspect I want to make more non standard monitors in the future.
    Regards,
    Arjen

  • List alerts meeting Management Pack, Severity, and Priority criteria

    Hello,
    As part of our Management Pack Life Cycle Management Process, I need to identify the alerts meeting the following criteria:
    1.      
    Generated from objects hosted by a specific subset of Management Packs (ex.: Windows Server 2003 & Windows Server 2008 (Monitoring))
    2.      
    With a particular subset of “Severities” (ex.: Severity = Critical | Warning)
    3.      
    With a particular subset of “Priorities” (ex.: Priority = High)
    Alert Views
    Though I can scope an alert view by severity & priority, I cannot scope by source Management Pack. 
    I therefore see alerts from all Management Packs! L
    Alert Report
    Though the Alerts report (under
    Microsoft generic Report Library) allows me to scope by Severity & Priority, here too I cannot scope by source Management Pack.
    I guess ideally, I would either:
    1.      
    Create a new report, allowing me to specify the desired criteria; or
    2.      
    Build & run a SQL statement that would extract the information directly from the database
    The problem is that I haven’t yet gained enough experience with OpsMgr to build either of them.
    Looking forward to hearing from someone,
    Larry

    Hi Larry
    Try the following:
    # Name of Root Management Server
    $RMS="XXXXXXXXXXXXXXXX"
    # Initialise OpsMgr Provider
    write-Host
    write-Host "Executing UpdateAlerts.ps1 ..."
    write-Host
    ## prepare OpsMgr shell
    if ((Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.EnterpriseManagement.OperationsManager.Client'}) -eq $null) {
    Write-Host
    Write-Host "File loaded."
    Write-Host "Initializing shell for operations manager..."
    Write-Host "Add Microsoft.EnterpriseManagement.OperationsManager.Client snap in."
    Add-PSSnapin Microsoft.EnterpriseManagement.OperationsManager.Client -ErrorAction SilentlyContinue -ErrorVariable Err
    if ($Err) { $(throw write-Host $Err) }
    if ((Get-ManagementGroupConnection | Where-Object {$_.ManagementServerName -eq $RMS}) -eq $null) {
    Write-Host "Connect to Management Server: $RMS"
    New-ManagementGroupConnection $RMS -ErrorAction SilentlyContinue -ErrorVariable Err
    if ($Err) { $(throw write-Host $Err) }
    if ((Get-PSDrive | Where-Object {$_.Name -eq 'Monitoring'}) -eq $null) {
    Write-Host "Create Monitoring drive from Provider."
    New-PSDrive -Name: Monitoring -PSProvider: OperationsManagerMonitoring -Root: \ -ErrorAction SilentlyContinue -ErrorVariable Err
    if ($Err) { $(throw write-Host $Err) }
    Write-Host "Operations manager shell initialized."
    Write-Host
    Set-Location Monitoring:\$RMS
    # Rules - Alert Name, Severity, Priority, Management Pack
    get-alert -criteria 'PrincipalName is not null and ResolutionState = ''0'' and IsMonitorAlert=''False''' |
    select-object name, Severity, Priority, @{Name="ManagementPack"; Expression={((get-rule $_.monitoringruleid).getmanagementpack()).displayname}} |
    Export-csv c:\temp\listalertsfromrules.csv
    # Monitors - Alert Name, Severity, Priority, Management Pack
    get-alert -criteria 'PrincipalName is not null and ResolutionState = ''0'' and IsMonitorAlert=''True''' |
    select-object name, Severity, Priority, @{Name="ManagementPack"; Expression={((get-monitor $_.problemid).getmanagementpack()).displayname }} |
    Export-csv c:\temp\listalertsfrommonitors.csv
    It works for me (at the moment it lists all alerts with resolution state = 0 but you can change the -criteria clause to amend that). You could also add filters for different priorities and severities and I guess add on date ranges ... but lets check the
    base script works for you first!
    Just a few things you'll need to amend in the script:
    1) The RMS is defined in the second line - you'll need to specify your RMS
    2) I have saved the output to a folder c:\temp - either create such a folder or change the file output path
    Let us know how it goes.
    Cheers
    Graham
    View OpsMgr tips and tricks at
    http://systemcentersolutions.wordpress.com/

  • Script to get all the alerts from SCCM Management Pack

    Hi Team,
    I need a script/tool to generate all the default alerts from a Management Pack.
    Thanks and Regards, Mohd Zaid www.techforcast.com

    You may use the following SQL statement
    select displayname as MPname, b.monitorname, b.alert from(
    select displayname as monitorname, alert, a.managementpackid from (select monitorid, displayname as alert,
    monitor.managementpackid from monitor inner join displaystringview on monitor.alertmessage=ltstringid
    where languageCode='ENU') a inner join displaystringview on a.monitorid=ltstringid
    where languageCode='ENU') b inner join displaystringview on b.ManagementPackid=ltstringid
    where languageCode='ENU' where displayname ='SCCM Management Pack'
    Roger

Maybe you are looking for

  • Closed lid still allows movement

    Hi, is it normal that the screen of my new macbook can be moved a bit to the side (left and right) when closed. I'm talking about only a milimeter and guess it's because it's magnetically locked and not mechanically. But I was just wondering if that

  • Create table statement fail

    Hello experts Oracle 10g on RHEL 4 when I fire the statement as sys user "create table tab2 as select * from dba_objects tablespace users" it gives the error "ORA-00933: SQL command not properly ended" But when I fire "create table tab2(id number) ta

  • Installation of SOA Suite 11g for development purpose

    Hello All, I wanted to install SOA Suite 11g for development purpose on my laptop (OS Windows XP). As per installtion prerequisite process in the download page of oracle. I found the following pre requisite - installation of Oracle DB 11g EE(although

  • Could not save preferences

    I have a user in my company who gets the following error message everytime he closes Photoshop 6.0: "Could not save Preferences because the file is locked. Use the "Properties command in the Windows Explorer to unlock the file." He is using Windows X

  • Serial Numbers for Components in production Order

    Hi All I want to enter the serial numbers of the components in the production order.  How can we do it. I am able to enter the serial number of the FG in the production order, but want to enter for the Components as well. Any direction will be greatl