Friday, October 23rd, 2009
Assumes:
- Microsoft SQL Server 2005
- Microsoft Windows XP, Micrsoft Windows Server 2003
Fix:
- Reboot or otherwise restart the SQL Server service. A failed update will generally leave the service stopped or in an unpredictable state.
- In Microsoft SQL Server Management Studio (or similar) execute the following:
EXEC sp_validatelogins
GO
- This should generate a list of SIDs/accounts that are no longer present in Windows. If no accounts are listed then proceed with this procedure with caution. You might have run into another issue.
- Determine the current Windows group names of the SQL Server accounts (Start | Run | “lusrmgr.msc”). They will be in the form SQLServer2005*$CompName$Instance.
- Download/obtain PsGetSid from Sysinternals/Microsoft.
- Use PsGetSid to get the SID’s of these groups:
psgetsid groupname
- In the Windows Registry navigate to HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.x\Setup, where “.x” is the instance of SQL Server with the issue (usually “.1″, for a single instance install).
- Note the data in the following values: SQLGroup, AGTGroup, FTSGroup, ASGroup. These keys map to the Windows groups like so:
SQLServer2005MSSQLUser$CompName$Instance > SQLGroup
SQLServer2005SQLAgentUser$CompName$Instance > AGTGroup
SQLServer2005MSFTEUser$CompName$Instance > FTSGroup
SQLServer2005???$CompName$Instance > ASGroup
- Replace all SID’s in the Registry that differ from the Windows groups (match up according to above table).
- Attempt to change the SQL Server service account through the SQL Server Configuration utility. If the change succeeds this fix most likely worked.
- Apply any service packs and/or updates.
Tags: Microsoft SQL Server
Posted in Uncategorized | No Comments »