Fixing HRESULT 0x80040D23

I’ve been playing around with a fresh install of SharePoint 2007 Standard on my home server via Remote Desktop at work today and fixing small problems as they came up. One of the bigger problems I ran into was when trying to access the “Search Settings” pages via the “Shared Services Administration” pages. When I tried to do this, I got the following rather cryptic error message:

Exception from HRESULT : 0x80040D23

My curiosity piqued, I started checking various things.

  1. Was the search service running according to SharePoint? Going to Central Administration => Farm Topology and clicking on the server name showed that the search service was indeed started.
  2. Was the search service running according to Windows Server 2003? Going to Start > Administrative Tools > Services and looking at the “Office SharePoint Server Search” service showed the service as stopped, but it intermittently tried to start itself. Manually starting it gave the following error:

    Error 183: Cannot create a file when that file already exists.

  3. Checking the Application event viewer via Start > Administrative Tools > Event Viewer showed a whole bunch of application error messages originating from SharePoint. I emptied out the event log and tried starting the service again, which gave me the following informational entry:
    Event Type:	Information
    Event Source:	MSSQL$OFFICESERVERS
    Event Category:	(2)
    Event ID:	17137
    Date:		8/30/2007
    Time:		12:43:31 PM
    User:		NT AUTHORITYNETWORK SERVICE
    Computer:	CAERYN
    Description: Starting up database 'SharedServices1_Search_DB_dfea8'.
  4. This made me wonder about what the permissions on the database were. Opening SQL Server Management Studio Express, I pulled up the properties on the indicated database, which shows that that particular user actually did have at least connect access to the database. I suspected that this wasn’t enough, though, so I went into the Properties tab for Office SharePoint Server Search, went to the “Log On” tab, and changed the account used to the same account that owned the search database.

Voila, the service started properly and I could access the Search Settings pages!