Wednesday, August 5, 2009

Common mistake when using the SQL MP for monitoring SQL 2008: EventID 4000, Source: Health Service Script.

For a couple of times I bumped into OpsMgr environments where this event in the OpsMgr eventlog kept popping up after every 15 minutes: EventID 4000, Source Health Service Script, GetSQL2008DBSpace.js : 0:
All these environments had the SQL MP imported and were monitoring SQL 2008 database servers.

When I asked whether the SQL Distributed Management Objects (DMO) were installed (as stated in the MP guide for the SQL MP), I was told that it indeed was the case.  However, when I asked what they had selected during the installation of DMO I got the answer that during the installation no selection had to be made. This puzzled me.

So I asked what they had downloaded, since the download page for DMO offers multiple downloads. I was showed the site and the downloaded program:
Aha! This was not the needed download!

I tried this msi-package in one of mine test environments, and indeed during installation, no dialog was shown, asking what needed to be installed. And to make matters more confusing, when looking in Add/Remove Programs you see this:
So one tends to think all is well. But it isn’t.

When you go to the download page for DMO, one needs to select this msi-package (based on the architecture of SQL servers):
It is just as stated in the documentation, but apparently, when people access the download page they get confused.

When downloading the correct msi-package and starting it on the SQL-server(s), one will see this dialogue during the installation:
Make the same selection as highlighted and click Next. Follow the rest of the instructions.

Soon the installation will be finished:

No additional configuration is needed. The OpsMgr events with EventID 4000 will soon go away. And the monitoring of SQL 2008 is running properly now.

Again it is just a nice example of RTFM :)


Unknown said...

This was very helpful as i didn't RTFM, well, obviously not enough. :)


Unknown said...

We have sucessfully install the SQL-DMO , in the SQL Server 2008 running server , but unable to register through regsvr32 , getting below error message :

" The Module "c:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn\SQLDMO.DLL", was loaded but the call to DllRegisterServer failed with the error code 0x8002801c. "

If any one help on this , that would be great.


Marnix Wolf said...

Hi Sushil,

question: happens this on a Windows Server 2008 box? Try to run it from an elevated cmd-prompt. This solves many issues.


Ed said...

Excellently written up and explained. Thank you.