PRB: Problems When DBCS Code Page Is Missing in Windows NT

ID: Q167051


The information in this article applies to:
  • Microsoft SQL Server versions 6.0, 6.5


SYMPTOMS

If SQL Server was installed with a double-byte character set (DBCS) code page (such as cp-932, cp-936, cp-949, or cp-950) and you used a dictionary order case-insensitive sort order, you may experience either of the following problems when running "use PUBS" or other case-sensitive operations:

Msg 911, Level 16, State 2
Attempt to locate entry in Sysdatabases for database 'PUBS' by name
failed - no entry found under that name. Make sure that name is entered
properly.
-or-
An "Unknown Character Set" error when running "sp_helpsort."


CAUSE

This problem occurs when the specific DBCS code page is not installed on the computer running Windows NT Server.


WORKAROUND

There are two possible workarounds for this problem.

Method One: If you are using Windows NT Server 3.51 or Windows NT Server 4.0, you can add the code page manually.

WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows NT to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.

  1. Log on to Windows NT Server to an account with Administrator privilege.


  2. Copy the code page file to the %SystemRoot%\System32 directory.


  3. Start the Registry Editor (Regedt32.exe) and locate the following HKEY_LOCAL_MACHINE subtree:
    
          System\CurrentControlSet\Control\Nls\CodePage
     


  4. On the Edit menu, click Add Value.


  5. Enter the following values:
    
          Value Name: <code page number> (for example, 950)
          Data Type: REG_SZ
          String: <code page file name> (for example, C_950.NLS)
     


  6. Locate the following HKEY_LOCAL_MACHINE subtree:
    
          System\CurrentControlSet\Control\Nls\Language
     


  7. On the Edit menu, click Add Value.


  8. Enter the following values:
    
          Value Name: <locale-specific code page ID> (for example, 0404 for
          code page 950; see the MORE INFORMATION section of this article)
          Data Type: REG_SZ
          String: l_intl.nls
     


  9. Quit Registry Editor.


  10. Shut down and restart the computer running Windows NT Server.


  11. Rebuild the SQL Server master database with the desired DBCS code page.


Method Two: If you are using Windows NT Server 4.0, you can add a code page by using an .inf script.
  1. Log on to Windows NT Server to an account with Administrator privilege.


  2. Start the Windows NT Explorer.


  3. Insert the Windows NT Server 4.0 compact disc.


  4. In the Langpack directory, locate the .inf file named appropriately for the language.


  5. Right-click the .inf file that you want to add support for.


  6. Click Install on the context menu.


  7. Shut down and restart the computer running Windows NT Server when it has completed adding the language.


  8. Rebuild the SQL Server master database with the desired DBCS code page.



MORE INFORMATION

The following is the locale-specific code page information that is required in method one above:


Locale                   LCID    Code Page
------------------------------------------
Chinese (PRC)           0x0804     936
Chinese (Taiwan)        0x0404     950
Chinese (Hong Kong)     0x0c04     950
Chinese (Singapore)     0x1004     936
Japanese                0x0411     932
Korean                  0x0412     949 

Additional query words: JIS Wansung Johab Hangul KB BIG-5

Keywords : kbenv kbinterop SSrvGen SSrvInst
Version : 6.0 6.5
Platform : WINDOWS
Issue type : kbprb


Last Reviewed: April 9, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.