The Database Engine system data directory in the registry is not valid

Recently I was helping a client with this issue; they were trying to repair their instances due to some registry setting issues.  However kept getting this message; this error message in the Bootstrap Logs means one of the key parameters for setup are missing or incorrect.  So in your setup logs you might have error similar to below:

(01) 2014-10-17 12:34:38 Slp: Configuration action failed for feature SQL_Engine_Core_Inst during timing Validation and scenario Validation.

(01) 2014-10-17 12:34:38 Slp: Microsoft.SqlServer.Configuration.SqlConfigBase.ValidationStateException: The Database Engine system data directory in the registry is not valid. —> Microsoft.SqlServer.Configuration.SqlEngine.RepairException: The Database Engine system data directory in the registry is not valid.

(01) 2014-10-17 12:34:38 Slp:    — End of inner exception stack trace —

(01) 2014-10-17 12:34:38 Slp:    at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineSetupPrivate.ValidateMergedSettings(EffectiveProperties properties)

(01) 2014-10-17 12:34:38 Slp:    at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineSetupPrivate.RepairCorruptInstance(ConfigActionTiming timing, Dictionary`2 actionData, PublicConfigurationBase spcb)

(01) 2014-10-17 12:34:38 Slp:    at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.ExecuteAction(String actionId)

(01) 2014-10-17 12:34:38 Slp:    at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.Execute(String actionId, TextWriter errorStream)

(01) 2014-10-17 12:34:38 Slp: The following is an exception stack listing the exceptions in outermost to innermost order

(01) 2014-10-17 12:34:38 Slp: Inner exceptions are being indented

(01) 2014-10-17 12:34:38 Slp: 

(01) 2014-10-17 12:34:38 Slp: Exception type: Microsoft.SqlServer.Configuration.SqlConfigBase.ValidationStateException

(01) 2014-10-17 12:34:38 Slp:     Message: 

(01) 2014-10-17 12:34:38 Slp:         The Database Engine system data directory in the registry is not valid.

(01) 2014-10-17 12:34:38 Slp:     HResult : 0x851a0042

(01) 2014-10-17 12:34:38 Slp:         FacilityCode : 1306 (51a)

(01) 2014-10-17 12:34:38 Slp:         ErrorCode : 66 (0042)

(01) 2014-10-17 12:34:38 Slp:     Data: 

(01) 2014-10-17 12:34:38 Slp:       SQL.Setup.FailureCategory = ConfigurationValidationFailure

(01) 2014-10-17 12:34:38 Slp:       WatsonConfigActionData = REPAIR@VALIDATION@SQL_ENGINE_CORE_INST

(01) 2014-10-17 12:34:38 Slp:       WatsonExceptionFeatureIdsActionData = System.String[]

(01) 2014-10-17 12:34:38 Slp:     Stack: 

(01) 2014-10-17 12:34:38 Slp:         at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineSetupPrivate.ValidateMergedSettings(EffectiveProperties properties)

(01) 2014-10-17 12:34:38 Slp:         at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineSetupPrivate.RepairCorruptInstance(ConfigActionTiming timing, Dictionary`2 actionData, PublicConfigurationBase spcb)

(01) 2014-10-17 12:34:38 Slp:         at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.ExecuteAction(String actionId)

(01) 2014-10-17 12:34:38 Slp:         at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.Execute(String actionId, TextWriter errorStream)

(01) 2014-10-17 12:34:38 Slp:     Inner exception type: Microsoft.SqlServer.Configuration.SqlEngine.RepairException

(01) 2014-10-17 12:34:38 Slp:         Message: 

(01) 2014-10-17 12:34:38 Slp:                 The Database Engine system data directory in the registry is not valid.

(01) 2014-10-17 12:34:38 Slp:         HResult : 0x851a0042

(01) 2014-10-17 12:34:38 Slp:                 FacilityCode : 1306 (51a)

(01) 2014-10-17 12:34:38 Slp:                 ErrorCode : 66 (0042)

Its easy to resolve please go and verify following settings are correct:

  1. Run regedit.exe
  2. Navigate to [HKLM]\Software\Microsoft\Microsoft SQL Server\MSSQL.InstanceID\Setup\
  3. Look for a String Key, SQLDataRoot.  The value should be where the System Data, Log, etc. folders are.  For example, its D:\MSSQL10.SQLInstance\MSSQL\

If setting isn’t there add it, if the path is incorrect fix it and run your setup/repair/upgrade again.

4 comments

  1. Just hit this issue with a SQL Server 2016 Enterprise instance, trying to install a CU after installing Power BI Report Server. I first uninstalled SSRS and still got the same error. Found this article and boom, there it was. The SQL 2016 instance has been upgraded in place from 2012 to 2014 to 2016. Never had this issue before, including at any time in the last 20 years of working with SQL Server. Worked like a champ!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.