Some fun & games today. I was building a nice new SQL Server 2008 R2 VM (yes, I know it’s 2013, but this counts as a big upgrade where I am at the moment). 90% or so of the way through the installation, I got the following error:
Wait, what? Is that all I get? “Access denied”? Not very helpful.
Looking through the summary log, find this:
Feature: Database Engine Services Status: Failed: see logs for details MSI status: Passed Configuration status: Failed: see details below Configuration error code: 0xDC80C325 Configuration error description: Access is denied Configuration log: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20131031_160530\Detail.txt
Dodgy formatting and all…
And in the detail log:
2013-10-31 16:40:00 SQLEngine: : Checking Engine checkpoint 'GetSqlServerProcessHandle' 2013-10-31 16:40:00 SQLEngine: --SqlServerServiceSCM: Waiting for nt event 'Global\sqlserverRecComplete' to be created 2013-10-31 16:40:00 SQLEngine: --SqlServerServiceSCM: Waiting for nt event 'Global\sqlserverRecComplete' or sql process handle to be signaled 2013-10-31 16:40:00 Slp: Configuration action failed for feature SQL_Engine_Core_Inst during timing ConfigRC and scenario ConfigRC. 2013-10-31 16:40:00 Slp: Access is denied 2013-10-31 16:40:00 Slp: The configuration failure category of current exception is ConfigurationFailure 2013-10-31 16:40:00 Slp: Configuration action failed for feature SQL_Engine_Core_Inst during timing ConfigRC and scenario ConfigRC. 2013-10-31 16:40:00 Slp: System.ComponentModel.Win32Exception: Access is denied 2013-10-31 16:40:00 Slp: at System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited) 2013-10-31 16:40:00 Slp: at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited) 2013-10-31 16:40:00 Slp: at System.Diagnostics.Process.OpenProcessHandle() 2013-10-31 16:40:00 Slp: at System.Diagnostics.Process.get_Handle() 2013-10-31 16:40:00 Slp: at Microsoft.SqlServer.Configuration.SqlEngine.SqlServerServiceBase.WaitSqlServerStart(Process processSql) 2013-10-31 16:40:00 Slp: at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineDBStartConfig.ConfigSQLServerSystemDatabases(EffectiveProperties properties, Boolean isConfiguringTemplateDBs, Boolean useInstallInputs) 2013-10-31 16:40:00 Slp: at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineDBStartConfig.DoCommonDBStartConfig(ConfigActionTiming timing) 2013-10-31 16:40:00 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.ExecuteAction(String actionId) 2013-10-31 16:40:00 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.Execute(String actionId, TextWriter errorStream) 2013-10-31 16:40:00 Slp: Exception: System.ComponentModel.Win32Exception. 2013-10-31 16:40:00 Slp: Source: System. 2013-10-31 16:40:00 Slp: Message: Access is denied.
Identifying possible causes
Microsoft gives us this helpful document for How to identify SQL Server 2008 setup issues in the setup log file.
So. Possible causes. There’s nothing official out there from Microsoft, but a search on sqlenginedbstartconfigaction_install_configrc_cpu64 did show a few possible causes:
- Checked / Debug Build of Windows. No, not applicable in this case – it’s a proper build.
- MSXML build problem. Doesn’t feel right, particularly given some of the detail in the setup error logs. Decided not to pursue this
- Insufficient permissions. I originally discounted this, as I was set up as a member of the local administrator group. However, this *was* the right thing.
Searching for possible failure reasons here lead to the following documents from Microsoft:
- SQL Server installation fails if the Setup account does not have certain user rights
- How to: Install SQL Server 2008 R2 (Setup) – specifically, the bit about Causes, and the table of Policy requirements:
Local Policy Object Display Name User Right Backup files and directories SeBackupPrivilege Debug Programs SeDebugPrivilege Manage auditing and security log SeSecurityPrivilege
For a more detailed view of why the Debug right is required, see http://blogs.msdn.com/b/joaol/archive/2008/12/02/sql-server-2008-installation-aborts-due-an-access-denied.aspx
But wait – I’m local admin. Why haven’t I got these rights already?
I don’t know. Ask your sysadmin / Group Policy Administrator.