Stop monitoring SQL Express and Windows Internal Database


<!--[if lt IE 9]>

<![endif]-->

Comments (27)

  1. Kevin Holman says:

    I looked – the discoveries are identical….  The only thing that changed is displayname, and the script for the datasource.  I cannot imagine why these would populate again if your override was in place.

  2. Kevin Holman says:

    Steve – I will look into this.  This should not have changed.  The override is by ID, not by display name…. so it should still apply unless they broke exclusion by name in the changes to the discovery script.

  3. Kevin Holman says:

    First – when using the parameter override for discovery "ExcludeList", running Remove-DisabledMonitoringObject will not do anything.  This is by design.  When we are using ExcludeList – we need the discovery to run, and to UNDISCOVER the SQL instance by name.  So we must ensure that the discovery is not "disabled" on the host server.

    Your list looks good.  However – you might need to ensure you are putting these same exclusions in on your SQL server 2008 discovery rule as well.

    Additionally – one thing to point out – some workflows don't handle any test with a "$" in there – because it thinks it is a variable.  You might consider removing the one with the $ signs and see if that fixes it.  Also – if you have overridden the frequency of the SQL DB engine discovery in the past – you might want to consider changing that back for the purposes of testing your changes.  Or just restarting the agent to force it to run all discoveries at startup.

  4. Kevin Holman says:

    @vijayh –

    You can a few options.  Uninstall SQL express.  Or – create an override to disable discovery of the Express instance BY NAME – as posted above – ONLY for this specific server.  Then any other SQL instance will be discovered.

  5. Per J says:

    Hi,

    I'm experiencing the same as Nicole, I've added a number of instances to exclude, but my already discovered instances are still there. The only way I've been able to make them disappear, were by re-installing the agent.

    My theory is that the DB engine is no longer directly discovered with the Windows Server as target, rather than SQL Server installation seed. Even after making the server disappear from that discovery the SQL instances still hang around.

    I'm doing some more tests, and will hopefully find an easy workaround.

    /Per

  6. Anonymous says:

    Hi Kevin,

    I've followed the steps you described above to the letter, but it seems I cannot get the same result.

    Not a single SQLEXPRESS is undiscovered; they still appear in the discovered inventory (even after 24+ hour). The discovery is set for 4 hours.

    In your override screenshot i noticed the Enabled property set to False (grey), so i assume you've set it in another override?

    Is that what I'm missing, or shouldn't it be of any influence?

    Thx,

    Dennis

  7. Nicole Welch says:

    Kevin – thanks for the quick reply!  I removed the instance with the $ and confirmed my SQL2005/2008 exceptions match.  Unfortuantely, no errors are generated and Express instances still appear.  I've even reset the health store and restarted a few agents.  I've also tried shortening my exclusion list – in case there is a max field size — but there's no change.  Any other thoughts?

  8. Kevin Holman says:

    Oh – and Nicole – feel free to ping me directly in email anytime.

  9. Nicole Welch says:

    So when I do this only ~10% disappear.  I've waited 24hr and run remove-disabledmonitoringobject as well (multiple times).  I'm running SCOM 2007 R2 infra, SCOM 2012 agents, SQL MP 6.3.173.1.  Targeting overrides to Windows Server and the SQL Discovery Seed actually excluded more than just targeting Windows server.  Below is one of my overrides – pls tell me I've just made a simple mistake!

    ID="OverrideForDiscoveryMicrosoftSQLServer2005DBEngineDiscoveryRuleServerForContextMicrosoftWindowsServerComputer44870d24b20d485f9c96ae9f74ceaf45" Context="Windows!Microsoft.Windows.Server.Computer" Enforced="false" Discovery="SQLServer!Microsoft.SQLServer.2005.DBEngineDiscoveryRule.Server" Parameter="ExcludeList" Module="DS">

    <Value>ECSQLEXPRESS,MICROSOFT##SSEE,SQLEXPRESS,SQLEXPRESS1,SQLEXPRESSTEST,AUTODESKVAULT,BKUPEXEC,QUADRATE,BPASERVER8,SQLExpress,HPWJA,MICROSOFT$VMM$,VIM_SQLEXP,WINTOOL</Value>

  10. Flemming Riis says:

    oh thanks thats very handy didnt know you do that.

  11. I think they've changed the name of the Discovery in the latest SQL MP, it's now 'Discover SQL Server 2005 Database Engines (Windows Server)' with the extra 'Server' in there?    All my SQL Express and Windows Internal Databases started showing up again in our alerts, so I guess you have to redo your exclusions for this new Discovery rule.

  12. Hello Kevin, says:

    I've few sqlexpress edition with instance name as MSSQLSERVER, i created one group based on windows computer and override in the discovery to enable as False for this group. But now DBA team installed standard edition in the same server,now the server has both express edition and standard edition. it is not discovered due to disable the discovery, now i want to discover that standard edition instance but SQLEXPRESS should not be discovered.

    How can i achieve this?

  13. vijayh says:

    Hello Kevin, 13 Jun 2012 4:32 AM

    I've few sqlexpress edition with instance name as MSSQLSERVER, i created one group based on windows computer and override in the discovery to enable as False for this group. But now DBA team installed standard edition in the same server,now the server has both express edition and standard edition. it is not discovered due to disable the discovery, now i want to discover that standard edition instance but SQLEXPRESS should not be discovered.

    How can i achieve this?

  14. curt says:

    the target for these discoveries is currently "Sql Server 200x Installation Seed" even though the names of the discoveries have "(windows server)" in them. there is another discovery called "sql server 2005 db installation discovery source" that targets windows server and discovers the "seed." should we be targeting our overrides at all objects of type "sql server 200x installation seed" instead of windows server now?

  15. Gunter says:

    Should your method still work for SQL 2012 Express? Or should I use a different discovery?

  16. Anonymous says:

    MP UPDATE: The updated MP for all sql versions plus new explainations can be found at
    http://blogs.technet

  17. Unfortunately that only works as long as the express edition is installed with the default instance name. It would be great to see an exclude property for the edition in the discoveries.
    Cheers, Patrick

  18. Unfortunately that only works as long as the express edition is installed with the default instance name. It would be great to see an exclude property for the edition in the discoveries.
    Cheers, Patrick

  19. Roney says:

    Is it possible to disable a particular database from being monitored than excluding the server from SCOM.

    1. SKY says:

      Yes, Override the value Enabled to False of “MSSQL 2008: Discover Databases Engine Resource Pools” discovery for the specific object where Database is hosted.

  20. Kevin Zimmer says:

    Can I stop windows internal database (microsoft##ssee). We don’t use Shaepoint or WSUS. This instanace is killing our server causing email not come in

  21. Randall Weytens says:

    Kevin,

    Does the advice to not monitor SQL server express still apply to SQL Express versions 2008 and up with the newer SQL server management packs and the RunAs addendum? I saw a note that support for SQL Server express was added to the newer MPs, but I can’t find the reference now.

    Thanks,

    –Randall

  22. Alex Durrant says:

    Hi Kevin,

    If the SQL team disable three out of for four instances on this particular server, how do I go about disabling only these instances from SCOM? I can’t disable the discovery for the server as it has active instances on it, I’ve created a group which contains the instances under class ‘SQL Server 2008 DB Engine’ then created an discovery override for this group to the ‘Discover SQL Server 2008 Database Engines (Windows Server)’ discovery object, then ran ‘Remove-SCOMDisabledClassInstance’ cmdlet, however this doesn’t seem to have removed them, any ideas?

    1. Kevin Holman says:

      Alex – that wont work – because the group must contain instances of the discovery targeted class, or instances that “contain” the targeted class.

      If you have a scenario – where you have a specific computer that has 4 instances of SQL, but you only want to discover and therefore monitor 1 out of the 4 instances, then I would recommend an override for the discovery for that specific “Windows Server”, and add in the specific named instances not to discover. That will remove them the next time the discovery runs.

  23. Sreejeet says:

    Hi Kevin,
    I want to disable the discovery of SQL Express edition from SQL Server 2017 + DB engine discovery. For that I created a Dynamic Group with the following criteria. After that I have overriden and disabled the Discovery Rule “MSSQL on Windows: Discover SQL Server Database Engines” for the Group. Then ran the command Remove-SCOMDisabledClassInstance. But still I am able to see the Express Edition SQL Server 2017 + DB engine in the Discovered Inventory. Could you please advice.

    ( Object is MSSQL on Windows: DB Engine AND ( Instance Name Matches regular expression () ) AND True )

    1. Sreejeet says:

      I finally found the solution, the discovery rule to override is “MSSQL on Windows: Discover Local SQL Server Database Engines” and not “MSSQL on Windows: Discover SQL Server Database Engines”. This discovery Rule MSSQL on Windows: Discover Local SQL Server Database Engines has the Parameter “Exclude” where we can addd the DB engines to be excluded.

Skip to main content