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.
- 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.
- 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.
- 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'.
- 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!