The search service is not able to connect to the machine that hosts the administration component

Issue:

While going to SSA administration page you get the following error:

The search service is not able to connect to the machine that hosts the administration component. Verify that the administration component 'GUID' in search application 'Search_ Service_ Application ' is in a good state and try again”

And in topology we see admin component in “Initializing state”.

In event viewer we get the following error:

Event Viewer Application LOG

Log Name:      Application

Source:        Microsoft-SharePoint Products-SharePoint Server Search

Date:          12/6/2011 11:50:52 PM

Event ID:      67

Task Category: Gatherer

Level:         Error

Keywords:   

User:         ************

Computer:     ***************************

Description: Could not access the Search database. A generic error occurred while trying to access the database to obtain the schema version info.

Context: Application '5137d5a9-5f76-4095-8928-c7e827b97ac4'

Details:

                Class not registered (0x80040154)

And in ULS we get the following stack:

12/13/2011 14:18:43.29        mssearch.exe (0x2C10)        0x34E0        SharePoint Server Search        UtilCommon        cd08        High        SQL call failed (0x80040154: Class not registered  )                            [atldbext.cxx:1290]  d:\office\source\search\libs\utild\atldbext.cxx      

12/13/2011 14:18:43.29        mssearch.exe (0x2C10)        0x34E0        SharePoint Server Search        UtilCommon        cd09        High        error 0: Class not registered (source Microsoft OLE DB Service Components, 0x80040154, code 0: Class not registered  )  [atldbext.cxx:1386]  d:\office\source\search\libs\utild\atldbext.cxx      

12/13/2011 14:18:43.29        mssearch.exe (0x2C10)        0x34E0        SharePoint Server Search        Common        0000        High        CAppConfig::DoQuery, Application 'c880e019-95a6-4412-a1b3-951814a343ce', Resource '2': m_pParent->CreateSession failed.  [resourcemanagerimpl.cpp:1438]  d:\office\source\search\native\mssrch\resourcemanagerimpl.cpp      

12/13/2011 14:18:43.29        mssearch.exe (0x2C10)        0x34E0        SharePoint Server Search        Exceptions        15y3        High        <Exception><HR>0x80040154</HR><eip>000007FEDCA14DFB</eip><module>d:\office\source\search\native\mssrch\resourcemanagerimpl.cpp</module><line>1439</line></Exception>      

12/13/2011 14:18:43.29        mssearch.exe (0x2C10)        0x34E0        SharePoint Server Search        Common        0000        High        CAppConfig::RemoveProperties Exception caught.                                  [resourcemanagerimpl.cpp:1889]  d:\office\source\search\native\mssrch\resourcemanagerimpl.cpp      

Resolution:

This stack comes when there is some installation issue in SQL Native client.

To verify that create a UDL file and check the providers tab:

  • Check if the SQL Server Native client 10.0 is listed there or not, if it’s not then try to search for the following CLSID in registry “8F4A6B68-4F36-4e3c-BE81-BC7CA4E9C45C”. you should see the key in HKCR\CLSID\. If it’s not there then we need to re-install the SQL Server native client on the server.
  • Go to control panel à uninstall a program and look for Microsoft SQL Server 2008 Native client à uninstall it.

Note: Make sure while uninstalling it doesn’t show a warning saying “following processes are using this”.

  • Download native client, its available for download as a separate package. Install it and we should be good to go.

Important:

This error occurs as Search Service does make a use of SQL Native client while trying to connect to databases