SQL Server 2012 patching failure - The language of SQL Server instance MSSQLSERVER does not match the language expected by the SQL Server update
-
13-03-2021 - |
Pregunta
I've picked up the support for a SQL Server 2012 instance on a server at our German site and need to apply SQLServer2012SP4-KB4018073-x64-ENU.
The patching is failing with the installer showing error
The language of SQL Server instance MSSQLSERVER does not match the language expected by the SQL Server update. The installed SQL Server product language is German (Germany) and the expected SQL Server language is English (United States).
The server properties general tab (in SSMS) shows Language German (Germany), but the SERVERPOPERTY('LCID') shows 1033 (US_English). The registry entry shows 1031 (German) as the install language (https://www.sqlserverscience.com/basics/localization/language-used-sql-server-binaries/#comment-191)
Trying to use the German patch file SQLServer2012SP4-KB4018073-x64-DEU results in
This SQL Server setup media does not support the language of the OS, or does not have the SQL Server English-language version installation files. Use the matching language-specific SQL Server media; or install both the language specific MUI and change the format and system locales through the regional settings in the control panel
Any pointers as to a way forward so I can apply the patch?
Attempted patching after first suggested fix
Solución
The cause of the error is that you are applying an English update on a SQL Server installed in German language. Or maybe there might be some specific problem with SQL Server and the German Language.
@Massimiliano Buschi is right, the solution should be this. However you said in your case is not working.
Use PowerShell to:
- Check your current language:
Get-WinUserLanguageList
- Set the language you want:
Set-WinUserLanguageList -LanguageList en-US
- Reboot and try to install
Still doesn't work? Let's try to change these 3 parameters:
User interface settings:
In Control Panel, open Region and Language. On the Languages tab, for Language used in menus and dialogs, select a value from the list. Click Apply to confirm the change and OK to close the window.User locale:
In Control Panel, open Regional and Language Options. On the Regional Options tab, for Select an item to display its settings, select a value from the list. Click Apply to confirm the change and OK to close the window.System locale:
In Control Panel, open Regional and Language Options. On the Advanced tab, for Select a language that matches the version of the non-Unicode programs you want to use, select a value from the list. Click Apply to confirm the change and OK to close the window.
Still doesn't work? We need to use the hammer :(
Delete or Rename the
%ProgramFiles%\Microsoft SQL Server\110
folder (110 for SQL Server 2012, 120 for SQL Server 2014and so on)Try again.
Otros consejos
Please try to go to Control Panel, Regional Settings and change the "Format" language. close , re-open it and change format back to yours. Retry the setup of the patch
This is an easy one. Albeit if you work in a Swiss-German organisation like I do and have to install German SQL Server instances on Windows Servers, which have been set up to use the location Switzerland which results in a Swiss-German keyboard layout and date-time settings.
The solution depends on the version of the OS installed...
Windows Server 2016
On a Window Server 2016 with the Location set to Switzerland the language bar might look like this:
Trying to install a German Service Pack will fail, even though the Deutsch (Schweiz) setting is available. Starting the SQLServer2016SP2-KB4052908-x64-DEU.exe
(SQL Server 2016 Service Pack 2 German) results in:
Solution
To circumvent this issue, add the language German - German and set to default.
1. Open Language and Region Settings
Click on the Add Language icon ...
2. Add Language
...and start typing German.
3. Select German - German
Select the German (Germany) (or Deutsch (Deutschland)) option...
4. Set Default
...and when back in the Language and Region Settings select the Set Default button:
6. Language and Region Settings
Your settings should now look a bit like this with German (Germany) (or Deutsch (Deutschland)) at the top.
6. Run Setup Again
If I run the setup for Service Pack 2 now, then I am presented with:
...and eventually this:
Disclaimer:
All pictures taken today on a Windows Server 2019 (German) running SQL Server 2016 (German)
Details for older operating systems to follow...