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:
image
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:
image 
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:
image 
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):
image
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:
image
Make the same selection as highlighted and click Next. Follow the rest of the instructions.

Soon the installation will be finished:
image

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 :)
image

4 comments:

Bryce said...

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

Thanks

sushil said...

Hi,
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.

Regards,
Sushil

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.

Cheers,
Marnix

Ed said...

Excellently written up and explained. Thank you.