Environment

VMware ESXi 4.0 host
Microsoft Windows Server 2003 Service Pack 2
Microsoft SQL Server 2005 Service Pack 4
SQL service account: sql-admin (domain account)

Issue

Microsoft SQL 2005 server service not running. Starting service manually fails with error message:

Windows could not start the SQL Server (MSSQLSERVER) on Local Computer

Windows could not start the SQL Server (MSSQLSERVER) on Local Computer. For more information, review the
System Event Log. If this is a non-Microsoft service, contact the service vendor, and refer to service-specific error
code -2146885628.

Additionally flowing errors are logged in Windows Application Logs:

Source: MSSQLSERVER
Type: Error
Event ID: 17190
Description:
FallBack certificate initialization failed with error code: 1.

Source: MSSQLSERVER
Type: Error
Event ID: 17182
Description:
TDSSNIClient initialization failed with error 0x80092004, status code 0x80.

Source: MSSQLSERVER
Type: Error
Event ID: 17826
Description:
Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.

Source: MSSQLSERVER
Type: Error
Event ID: 17120
Description:
SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.

Windows System Logs were recording flowing error:

Source: Service Control Manager
Type: Error
Event ID: 7024
Description:
The SQL Server (MSSQLSERVER) service terminated with service-specific error 2148081668 (0x80092004).

Cause

While troubleshooting the issue I changed MSSQLSERVER service Log On account to Local System. Service started successfully. This indicated an issue with our normal SQL Log On account sql-admin.
Went back through Windows Application Logs and just before the issue occurred first time, following errors were recorded:

Source: Userenv
Type: Error
Event ID: 1508
Description:
Windows was unable to load the registry. This is often caused by insufficient memory or insufficient security rights.
DETAIL - The process cannot access the file because it is being used by another process.  for C:\Documents and Settings\sql-admin\ntuser.dat

Source: Userenv
Type: Error
Event ID: 1502
Description:
Windows cannot load the locally stored profile. Possible causes of this error include insufficient security rights or a corrupt local profile. If this problem persists, contact your network administrator.

Source: Userenv
Type: Error
Event ID: 1515
Description:
Windows has backed up this user's profile. Windows will automatically try to use the backed up profile the next time this user logs on.

Source: Userenv
Type: Error
Event ID: 1511
Description:
Windows cannot find the local profile and is logging you on with a temporary profile. Changes you make to this profile will be lost when you log off.

I logged on to a machine locally using sql-admin account and tried to encrypt a sample text file on the desktop. This failed with error:

An error occurred applying attributes to the file:
C:\Documents and Settings\TEMP\D... \Test.txt
The profile for the user Is a temporary profile.

This confirmed that sql-admin account's user profile is still corrupted and was strong indication that this is causing the whole issue.

Solution

Went into Windows User Profiles (Control Panel > System > Advanced > User Profiles Settings) and deleted the corrupted sql-admin profile. There was still temporary sql-admin profile present, but after rebooting machine twice it disappeared and SQL server was back up running.

Question remained what cased the profile corruption? It's difficult to say for sure, but I have two theories:

  1. Just before the issue occurred first time, server installed some Microsoft security updates.
  2. Machine was recently moved from another VMware ESXi host.

No comments

Leave your comment

In reply to Some User
Captcha Image