Sql-server – SQL Server 2012 patching failure – The language of SQL Server instance MSSQLSERVER does not match the language expected by the SQL Server update

patchingsql serversql-server-2012

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)

enter image description here

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

enter image description here

Best Answer

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:

  1. Check your current language: Get-WinUserLanguageList
  2. Set the language you want: Set-WinUserLanguageList -LanguageList en-US
  3. Reboot and try to install

Still doesn't work? Let's try to change these 3 parameters:

  1. 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.
  2. 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.
  3. 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 :(

  1. Delete or Rename the %ProgramFiles%\Microsoft SQL Server\110 folder (110 for SQL Server 2012, 120 for SQL Server 2014and so on)

  2. Try again.