Microsoft KB Archive/319504

From BetaArchive Wiki

Article ID: 319504

Article Last Modified on 9/28/2007



APPLIES TO

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition



This article was previously published under Q319504

Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry


SYMPTOMS

If you try to access another computer on the network, you may receive the following error message:

The name limit for the local computer network adapter card was exceeded.

Similar error messages may occur if you perform any of the following tasks:

  • You run the following command from a command prompt:

    net use * \\any_server\share_name

    You receive the following error message:

    System Error 68 has occurred.
    The name limit for the local computer network adapter card was exceeded.

    Note You receive the error message if you use either an Internet Protocol (IP) address or a server name in the Universal Naming Convention (UNC) path.
  • If you click Start, click Run, and then type a UNC path, for example, \\any_server\d$ (you can use either a server name or an IP address), you receive the following error message:

    Title: \\any_server\d$
    [red X] \\any_server\d$
    The name limit for the local computer network adapter card was exceeded.

  • If you use Server Manager or User Manager, you receive the following error message:

    The name limit for the local computer network adapter card was exceeded.

  • If you run any Lightweight Directory Access Protocol (LDAP)-based program, you receive the following error message:

    The name limit for the local computer network adapter card was exceeded.

    LDAP admin limit exceeded.

  • If you run the Support Tools utility Dcdiag.exe on a Windows 2000-based DC, you may receive any of the following failure messages:

    Starting test: NetLogons
    
             [DC-NAME-00] An net use or LsaPolicy operation failed with error 68, The name limit for the local computer network adapter card was exceeded.
    
             ......................... DC-NAME-00 failed test NetLogons
                        
    Starting test: Services
    
             Could not open Remote ipc to [DC-NAME-00]:failed with 68: The name limit for the local computer network adapter card was exceeded.
    
             ......................... DC-NAME-00 failed test Services
                        
    Starting test: frssysvol
    
             [DC-NAME-00] An net use or LsaPolicy operation failed with error 68, The name limit for the local computer network adapter card was exceeded..
    
             ......................... DC-NAME-00 failed test frssysvol
                        
    Starting test: kccevent
    
             Failed to enumerate event log records, error The name limit for the local computer network adapter card was exceeded.
    
    
             ......................... DC-NAME-00 failed test kccevent
                        
    Starting test: systemlog
    
             Failed to enumerate event log records, error The name limit for the local computer network adapter card was exceeded.
    
             ......................... DC-NAME-00 failed test systemlog
                        

Note If you either restart the computer or you disable the network adapter, and then enable it again, the problem does not occur for a while.

CAUSE

The 'ERROR_TOO_MANY_NAMES' Win32 error code, which translates to "The name limit for the local computer network adapter card was exceeded," translates to a number of Windows NT status codes. Therefore, you may require more information to find the cause of this problem.

The error messages that are described in the "Symptoms" section of this article may be resource-related. For example, the error message may occur if there is a lack of ephemeral ports. Use Performance Monitor to check for memory issues, memory leaks, and handle leaks.

The error message that is described in the "Symptoms" section is the error message that you receive. However, this error message is caused by either of the following errors, which are not obvious errors:

  • A Server Message Block (SMB) error:

    System Error 68 has occurred.

  • An LDAP error:

    LDAP admin limit exceeded.

    Error code: 80070044

To view the SMB error, run the following command, and then press ENTER:

net use * \\any_server\share_name


If you use Microsoft Windows Explorer to connect the same network drive, you receive only the error message that is described in the "Symptoms" section.

Typically, the error message that is described in the "Symptoms" section is caused by the SMB error. The following sections describe the SMB error and the LDAP error in more detail.

SMB error: System error 68 has occurred

This error has a decimal error code 68 or hexadecimal 0x44:

\* // #define ERROR_TOO_MANY_NAMES 68

Description: The name limit for the local computer network adapter card was exceeded.


Note In some situations, the following error text is displayed with the error 68 message:

Network name limit exceeded

Typically, the error 68 message indicates that the computer has used up all ports between 1024 and 5000, which is the default setting for ephemeral ports.

LDAP error: LDAP admin limit exceeded

This error corresponds to hexadecimal error code 0x80070044:

Error 0x80070044: LDAP_ADMIN_LIMIT_EXCEEDED ERROR_TOO_MANY_NAMES

Description: Administration limit on the server has exceeded.


This error may occur if you are using a program that was written by a user, which both uses LDAP and is running as a service. This error indicates that your LDAP search results exceed the servers search limit (the search limit is set to 100 by default in Exchange 2000). Additionally, if you are using Microsoft Active Directory Services Interface (ADSI) 2.0, you may be experiencing problems. The cache limit may have been exceeded because a large number of records have been returned.

RESOLUTION

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

How to resolve the SMB error

To resolve the SMB error:

  1. Run either of the following commands on the computer that is having problems (at the time that this computer is having problems), and then save the output to a file.
    • netstat -a
    • netdiag /v
  2. After five minutes, run the same command again.
  3. Look for the total number of sessions and used ports, check the state of the sessions, and then compare both outputs, especially the states other than LISTENING and ESTABLISHED to see if the number of sessions in the CLOSE_WAIT state or the TIME_WAIT state is growing. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

    137984 TCP connection states and Netstat output

If the output indicates that the server has used up all of the ports between 1024 and 5000 and the server has run out of ephemeral ports.

To resolve this issue:

  1. Start Registry Editor (Regedt32.exe).
  2. Locate the MaxUserPort value under the following key in the registry:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  3. Double-click the MaxUserPort value, type 65534 in the Value data box, and then click OK.
  4. Quit Registry Editor.

Alternatively, decrease the Maximum Segment Lifetime (MSL) value:

  1. Start Registry Editor (Regedt32.exe).
  2. Locate the TcpTimedWaitDelay value under the following key in the registry:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  3. Double-click the TcpTimedWaitDelay value, type 60 in the Value data box, and then click OK.

    NOTE: The default setting for the TcpTimedWaitDelay value is 240 (Decimal), which equals four minutes.
  4. Quit Registry Editor.

The TcpTimedWaitDelay value determines the length of time that a connection stays in the TIME_WAIT state before it is closed. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

196271 When you try to connect from TCP ports greater than 5000 you receive the error 'WSAENOBUFS (10055)'


How to find the root cause of the SMB error

After you determine that the server is running out of ephemeral ports, Microsoft recommends that you troubleshoot the root cause for the resource shortage. To do so, review the output from either the netdiag command or the netstat command to determine the ports that are heavily used, and then determine the program or the service that uses these port numbers.

For more information about well-known port numbers, see the following Internet Assigned Numbers Authority (IANA) Web page:

To determine the process that is using a specific port, use any port find utility such as Findport. exe. Use Findport to determine the executable file for the port that the program or service is listening on.

If you are using Microsoft Windows XP, run the following command to determine the owning process ID that is associated with each connection:

netstat -no


Stop the program or service that you have identified to be the root cause of the problem. You may have to contact the vendor of the program for updates or further assistance.

How to resolve the LDAP error

To resolve this issue, upgrade to ADSI 2.5, and then programmatically set the Page size setting to 99. By default, Exchange 2000 returns 100 records for each page. For more information about how to determine the version of ADSI that you are using, click the following article number to view the article in the Microsoft Knowledge Base:

216290 Determining the version of ADSI that is installed on your computer


For more information about ADSI, visit the following Microsoft Web site:

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

192166 Site Server 3.0 post-Service Pack 1 LDAP patch


271088 XGEN: Optimizing Windows 2000 Active Directory Servers with Six or Eight Processors to Run with Exchange 2000


MORE INFORMATION

The following table describes the Windows NT status codes to which the Win32 error code 'ERROR_TOO_MANY_NAMES' translates:

WINDOWS NT STATUS CODE WIN32 ERROR CODE
STATUS_TOO_MANY_NAMES ERROR_TOO_MANY_NAMES
STATUS_TOO_MANY_GUIDS_REQUESTED ERROR_TOO_MANY_NAMES
STATUS_TOO_MANY_ADDRESSES ERROR_TOO_MANY_NAMES
STATUS_TOO_MANY_NODES ERROR_TOO_MANY_NAMES
LDAP_ADMIN_LIMIT_EXCEEDED ERROR_TOO_MANY_NAMES

For more information about Windows NT status codes, click the following article number to view the article in the Microsoft Knowledge Base:

113996 Mapping Windows NT status error codes to Win32 error codes



Additional query words: name_limit too many names TOO_MANY_NAMES NT4 W2K SMB LDAP MaxUserPort MSL

Keywords: kberrmsg kbprb KB319504