Language used by the SQL Server binaries
SQL Server binaries come in various languages, such as 日本語 (Japanese), French, and English. It’s pretty easy to determine the language once SQL Server is *running*. A simple query does the trick:
|
However, if the instance is already down for some reason, and you want to install a cumulative update but aren’t sure what language you should install, you can check the system registry for the Locale ID, or lcid, of the installed language.
Checking the registry consists of the following steps:
- Run regedit.exe
- Navigate to the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL
- Find the name of the SQL Server instance you want to patch in the list, as shown here:
- Note the value listed in the
Data
column for the instance you’re interested in. - Navigate to the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<value from step 4 above>\MSSQLServer\CurrentVersion
- Lookup the value shown for
Language
in the chart below:
╔══════╦════════╦════════════════════╦═════════════════════╗ ║ lcid ║ hex ║ language ║ Alias ║ ╠══════╬════════╬════════════════════╬═════════════════════╣ ║ 1033 ║ 0x0409 ║ us_english ║ English ║ ║ 1031 ║ 0x0407 ║ Deutsch ║ German ║ ║ 1036 ║ 0x040C ║ Français ║ French ║ ║ 1041 ║ 0x0411 ║ 日本語 ║ Japanese ║ ║ 1030 ║ 0x0406 ║ Dansk ║ Danish ║ ║ 3082 ║ 0x0C0A ║ Español ║ Spanish ║ ║ 1040 ║ 0x0410 ║ Italiano ║ Italian ║ ║ 1043 ║ 0x0413 ║ Nederlands ║ Dutch ║ ║ 2068 ║ 0x0814 ║ Norsk ║ Norwegian ║ ║ 2070 ║ 0x0816 ║ Português ║ Portuguese ║ ║ 1035 ║ 0x040B ║ Suomi ║ Finnish ║ ║ 1053 ║ 0x041D ║ Svenska ║ Swedish ║ ║ 1029 ║ 0x0405 ║ čeština ║ Czech ║ ║ 1038 ║ 0x040E ║ magyar ║ Hungarian ║ ║ 1045 ║ 0x0415 ║ polski ║ Polish ║ ║ 1048 ║ 0x0418 ║ română ║ Romanian ║ ║ 1050 ║ 0x041A ║ hrvatski ║ Croatian ║ ║ 1051 ║ 0x041B ║ slovenčina ║ Slovak ║ ║ 1060 ║ 0x0424 ║ slovenski ║ Slovenian ║ ║ 1032 ║ 0x0408 ║ ελληνικά ║ Greek ║ ║ 1026 ║ 0x0402 ║ български ║ Bulgarian ║ ║ 1049 ║ 0x0419 ║ русский ║ Russian ║ ║ 1055 ║ 0x041F ║ Türkçe ║ Turkish ║ ║ 2057 ║ 0x0809 ║ British ║ British English ║ ║ 1061 ║ 0x0425 ║ eesti ║ Estonian ║ ║ 1062 ║ 0x0426 ║ latviešu ║ Latvian ║ ║ 1063 ║ 0x0427 ║ lietuvių ║ Lithuanian ║ ║ 1046 ║ 0x0416 ║ Português (Brasil) ║ Brazilian ║ ║ 1028 ║ 0x0404 ║ 繁體中文 ║ Traditional Chinese ║ ║ 1042 ║ 0x0412 ║ 한국어 ║ Korean ║ ║ 2052 ║ 0x0804 ║ 简体中文 ║ Simplified Chinese ║ ║ 1025 ║ 0x0401 ║ Arabic ║ Arabic ║ ║ 1054 ║ 0x041E ║ ไทย ║ Thai ║ ║ 1044 ║ 0x0414 ║ norsk (bokmål) ║ Bokmål ║ ╚══════╩════════╩════════════════════╩═════════════════════╝
The chart above can be obtained from a running SQL Server instance using this query:
1 2 3 4 5 6 |
SELECT sl.lcid , Hexlcid = CONVERT(varbinary(2), sl.lcid, 0) , sl.name , sl.alias FROM sys.syslanguages sl ORDER BY lcid; |
Thanks for this, very useful. I’ve hit an issue with applying a Service Pack and the update is failing due to “The language of SQL Server instance MSSQLSERVER does not match the language expected by the SQL Server update.”. Following your checks I can see that the registry has language 1031 but the LCID is 1033. I’m making an assumption that this could be the cause. I just need to work out how to fix it!
Hi Mike – I’m glad you found the post useful. Are you saying that your SQL Server thinks it’s running on 1033 but the registry indicates 1031?
Yes and when I try and patch I get the following messages in the installer
— 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).
I inherited this server so don’t know its history! Not an issue I have come across in (too many) years of DBA-ing so far.
And for clarity, you’re trying to install the 1033 (i.e. US language) Service Pack? Perhaps you need to try installing the 1031 (German) Service Pack binaries?
Also, I would suggest asking about this on the DBA Stack Exchange site where you’ll get a much wider audience 🙂
Yes, that is correct. If I try and install the German patch file I get a different error.
“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”.
Thanks – I will try DBA Stack Exchange too.