SQL Server Language Support
Microsoft® SQL Server™ 2000 is installed with 33 natural languages defined on the server. The definitions for each language establish how date data is interpreted:
- The formats in which dates are presented:
- dmy (day, month, year)
- mdy (month, day, year)
- ymd (year, month, day)
- dmy (day, month, year)
- Short and long names for each month.
- Names for each day.
- Which day is considered the first day of the week.
These language definitions are stored in master.dbo.syslanguages and a language identifier (ID) identifies each language.
Each instance of SQL Server uses a default language for all connections to the server. For more information about configuring the setting, see default language Option.
Most connections use the default language configured for the server, but each connection can individually set a SQL Server language to be used for the connection:
- Microsoft ActiveX® Data Object and OLE DB applications can include the Language keyword in a provider string specified when they connect.
- OLE DB applications can also set the provider-specific property SSPROP_INIT_CURRENTLANGUAGE before connecting.
- Open Database Connectivity (ODBC) applications can include the LANGUAGE keyword in a connection string specified on SQLDriverConnect. ODBC applications can also specify the language setting in a SQL Server ODBC data source definition.
- DB-Library applications can use dblogin to allocate a loginrec, and then use the DBSETNATLANG macro to specify a language setting before calling dbopen to connect.
- Any application can use the SET LANGUAGE statement to specify the SQL Server language.
SQL Server supports having multiple, language-specific copies of the error messages stored in master.dbo.sysmessages. All instances of SQL Server contain the set of English messages. SQL Server is localized, or translated, into French, German, Spanish, and Japanese versions. Installations of localized versions of SQL Server install the translated set of messages in addition to the English set. When SQL Server sends a message to a connection, it uses the localized message if the language ID of the connection matches one of the language IDs present in sysmessages. If there is no message in sysmessages with the same language ID, the English version of the message is sent.