SQL Server 2008 R2 Express with SP2 fails to upgrade from SQL Server 2005 Express with SP4 during a Backup Exec server upgrade.
SQL Server 2008 R2 Express with SP2 installation fails with the following errors:
- BKUPINST2014.HTM has error code: -2067922409
- V-225-53: ERROR: Failed to install SQL Express BKUPEXEC instance with error -2067922409.
- The return value for Microsoft SQL Express returned error code: 2227044887
- SQL summary.txt reports the following error:
One or more selected features for upgrade have failed the SID check. See the rules documentation at http://go.microsoft.com/fwlink/?LinkId=94001 for information on how to resolve.
SQL Server 2008 R2 Express with SP2 checks the account security identifier (SID) of the SQL service group accounts that were created during the SQL Server 2005 Express with SP4 installation. These are local user groups created on the operating system during Backup Exec (10d thru 2012) installations.
The three groups that previous versions of Backup Exec create during the BKUPEXEC SQL Server 2005 Express instance (Figure 1) :
If SQL Server cannot map the SID's that were previously installed to the names of the SQL service group accounts it will generate an error message. The SID's registered by SQL Server 2005 Express with SP4 do not match the SQL group account names.
Additionally an incomplete or unsuccessful uninstall of a previous version of Backup Exec may expose this issue.
The following issue is resolved when upgrading or installing using the Backup Exec 2014 Service Pack 1 (SP1) media. Backup Exec 2014 Rev 1786 Service Pack 1 (TECH216178).
How to identify SQL Server 2008 setup issues in the setup log files
Warning: This article contains instructions to edit and or delete registry entries. Incorrect use of the Windows registry editor may prevent the operating system from functioning properly. Great care should be taken when making changes to a Windows registry. Registry modifications should only be carried-out by persons experienced in the use of the registry editor application. It is recommended that a complete backup of the registry and workstation be made prior to making any registry changes.
Before editing or deleting any registry keys, in Regedit click File - Export to export the registry keys to a safe location.
Solution A: For any local groups for which the SID has been changed. (PowerShell Script Fix)
In this scenario the SQLServer2005MSSQLUser$ComputerName$BKUPEXEC group exists but SID is mismatched. NOTE: For Domain Controllers or SBS Servers the group is under Active Directory Users and Groups. If the group exists perform this Solution A first.
1. Copy attached FIX_SQLSID_For_BEUPG.ps1 to C:\TEMP on the Backup Exec server.
2. Open the Windows PowerShell Command line and change directory to C:\TEMP
3. Set the PowerShell Execution Policy to Unrestricted by running the following command: Set-ExecutionPolicy unrestricted
4. Run FIX_SQLSID_For_BEUPG.ps1 powershell script. See Example Output below. ./FIX_SQLSID_For_BEUPG.ps1
5. Run the Backup Exec installation again.
PS C:\temp> .\FIX_SQLSID_For_BEUPG.ps1
Script Version 1.2
Copyright (c) 2014 Symantec Corporation, All Rights Reserved
Found Group: SQLServer2005MSSQLUser$COMPUTERNAME$BKUPEXEC
It has SID: S-1-5-21-2866118670-3898470722-3192775716-1003
This Script Read: hklm:SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\Instance Names\SQL\BKUPEXEC, and its value is: MSSQL.1.
This Script Read: hklm:SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\MSSQL.1\Setup\SQLGroup, and its value is: S-1-5-21-2866118670-3898470722-3192775716-1001.
hklm:SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\MSSQL.1\Setup\SQLGroup_ps registry backup value does not exist, it will be created.
This Script Created: hklm:SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\MSSQL.1\Setup\SQLGroup_ps, with value: S-1-5-21-2866118670-3898470722-3192775716-1001.
This Script Updated: hklm:SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\MSSQL.1\Setup\SQLGroup, with value: S-1-5-21-2866118670-3898470722-3192775716-1003.
This Script Read: hklm:SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\MSSQL.1\Setup\SQLGroup, and its value is: S-1-5-21-2866118670-3898470722-3192775716-1003.
SQLGroup read from local computer: S-1-5-21-2866118670-3898470722-3192775716-1003
SQLGroup read from registry value: S-1-5-21-2866118670-3898470722-3192775716-1001
SQLGroup registry value after update: S-1-5-21-2866118670-3898470722-3192775716-1003
Execution completed successfully, review the output for details.
NOTE: What FIX_SQLSID_For_BEUPG.ps1 powershell script performs:
1. Queries the local system for the group “SQLServer2005MSSQLUser” and gets its SID.
2. Finds the registry value for the BKUPEXEC instance, then queries the SQLGroup value from that registry key.
3. If a value was read, then the following happens:
a. Saves the original value into a SQLGroup_psbackup registry value.
b. Writes the value read in step #1 to the original SQLGroup registry value. (Writes the correct SID value)
4. Logs the value returned from step #1.
5. Logs the value returned from step #2.
6. Logs the result written to the registry SQLGroup value done in step #3.
If the Powershell Script fix can’t be used Click here to know how to obtain the SID value using PsGetSid command prompt utility.
Solution B: If SQL Groups have been deleted and Solution A does not resolve the issue.
Recreate the following local user group: (NOTE: ComputerName = Windows Server Name)
- Run the PowerShell Script Fix following the directions in Solution A
- Run the Backup Exec installation again. If the Powershell Script fix can’t be used proceed to Step #4.
- Obtain the SID using PsGetSid for the user group created above. Click here to know how to obtain the SID value using PsGetSid command prompt utility.
- If PSGetSid is used to get the SID of the SQL User group edit the registry and change \MSSQL.X\Setup\SQLGroup to reflect the correct SID.
- Run the Backup Exec installation again.
a. 32-bit computer: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Setup\SQLGroup_bk
b. 64-bit computer: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\MSSQL.X\Setup\SQLGroup_bk
2. If the SQLServer2005MSSQLUser$ComputerName$BKUPEXEC group exist run the PowerShell Script in Solution A. If the Powershell Script fix can’t be used proceed to Step #4.
3. Run the Backup Exec installation again
4. Obtain the SID using PsGetSid for the group SQLServer2005MSSQLUser$ComputerName$BKUPEXEC . (NOTE: ComputerName = Windows Server Name)
5. If PSGetSid is used to get the SID of the SQL User group edit the registry and change \MSSQL.X\Setup\SQLGroup to reflect the correct SID.
6. Run the Backup Exec installation again.
Note: Typically the group SQLServer2005MSSQLUser$ComputerName$BKUPEXEC that corresponds to registry key MSSQL.X\Setup\SQLGroup causes the SQL Server 2008 R2 Express SP2 installation upgrade failure. (NOTE: ComputerName = Windows Server Name)
The names of the local groups resemble the following and can be obtained from the Local Users and Groups node in the Computer Management console:
For more information about how to obtain the PsGetSid command prompt utility, see the following Microsoft Web site: http://technet.microsoft.com/en-us/sysinternals/bb897417.aspx
For more information about the workaround, see the following URL: http://support.microsoft.com/kb/925976
Use the PSGetSid command prompt utility to obtain the SID value:
1. Type psgetsid SQLServer2005MSSQLUser$ComputerName$BKUPEXEC
2. In the registry change the SQLGroup value to match the SID.
Click Here to go back to top.