During SQL Server 2008 installations, many administrators encounter the frustrating error message: "'' is not a valid login or you do not have permission". This typically occurs around the 75% completion mark when using the SYSTEM account for installation.
The core issue stems from permission validation during service account configuration. When the installer attempts to validate service accounts, it encounters:
- Blank credentials being passed internally
- Permission conflicts between local SYSTEM and domain accounts
- Service Principal Name (SPN) registration failures
Solution 1: Manual Service Account Configuration
Modify the configuration file before installation:
<ConfigurationFile>
<ServiceAccount>
<SQLSVCACCOUNT>YourDomain\SQLService</SQLSVCACCOUNT>
<SQLSVCPASSWORD>YourSecurePassword123</SQLSVCPASSWORD>
</ServiceAccount>
</ConfigurationFile>
Solution 2: Registry Permission Fix
Execute this PowerShell script before installation:
$acl = Get-Acl "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server"
$rule = New-Object System.Security.AccessControl.RegistryAccessRule ("NT AUTHORITY\SYSTEM","FullControl","Allow")
$acl.SetAccessRule($rule)
$acl | Set-Acl -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server"
For persistent cases, check the SQL Server setup logs (typically in C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log) for these specific entries:
Error: Action "InstallSqlAction" threw an exception during execution. Error: The specified credentials could not be validated
Add these registry values to bypass certain checks:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\ConfigurationState] "SQL_Engine_Core_Inst"=dword:00000001 "SQL_FullText_Adv"=dword:00000001
Consider using command-line installation with explicit parameters:
setup.exe /QS /ACTION=Install /FEATURES=SQL,TOOLS /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /SQLSYSADMINACCOUNTS="YourDomain\YourAdmin" /AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /IACCEPTSQLSERVERLICENSETERMS
During SQL Server 2008 installation, many users encounter the frustrating error: "'' is not a valid login or you do not have permission" at about 75% completion. This typically occurs when using the SYSTEM account for installation, while attempts with admin credentials lead to other authentication failures.
The root cause lies in SQL Server's service account configuration. The installer fails to properly handle empty or SYSTEM account credentials during certain installation phases, particularly when creating SQL Server services.
Method 1: Manual Service Account Configuration
Modify the installation configuration file before running setup:
<ConfigurationFile>
<SQLSVCACCOUNT>NT AUTHORITY\SYSTEM</SQLSVCACCOUNT>
<AGTSVCACCOUNT>NT AUTHORITY\SYSTEM</AGTSVCACCOUNT>
<ISSVCACCOUNT>NT AUTHORITY\SYSTEM</ISSVCACCOUNT>
<ASSVCACCOUNT>NT AUTHORITY\SYSTEM</ASSVCACCOUNT>
</ConfigurationFile>
Method 2: Command Line Installation
Run setup with explicit service account parameters:
Setup.exe /QS /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER
/SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" /AGTSVCACCOUNT="NT AUTHORITY\SYSTEM"
/ISSVCACCOUNT="NT AUTHORITY\SYSTEM" /ASSVCACCOUNT="NT AUTHORITY\SYSTEM"
After successful installation, verify service accounts using PowerShell:
Get-WmiObject Win32_Service | Where-Object {$_.Name -like "*SQL*"} |
Select-Object Name, StartName | Format-Table -AutoSize
If possible, use a dedicated domain account with appropriate privileges:
Setup.exe /QS /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER
/SQLSVCACCOUNT="DOMAIN\sqlservice" /SQLSVCPASSWORD="P@ssw0rd123"
- Check Setup Bootstrap logs in
C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log - Ensure UAC is temporarily disabled during installation
- Verify the account running setup has local administrator privileges