A query takes a long time to complete and increases CPU usage to a high level on a Windows Server 2008-based domain controller when you use NSPI API functions to query address book information

Symptoms

You store an address book that contains lots of users in Active Directory Domain Services (AD DS) on a Windows Server 2008-based domain controller. Users in AD DS use the Name Service Provider Interface (NSPI) API functions to query the address book information.

In this scenario, the query operation either finishes after a long time (more than one minute) or fails with a time-out error. At the same time, the domain controller stops responding, and you notice that the CPU usage for the Lsass.exe process increases significantly on the domain controller.

Cause

This issue occurs because the NSPI library takes a long time to sort the address book information on the domain controller when the address book has many objects. Therefore, the users receive a slow query response, and a CPU usage spike for the Lsass.exe process occurs on the domain controller.

Resolution

This hotfix introduces NSPI caching. When a user requests the address book information by using NSPI API functions, the domain controller caches the query results so that successive requests can be serviced from the cache.

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website:

http:⁠//support.microsoft.com/contactus/?ws=support Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

To apply this hotfix, you must have a domain controller that is running Windows Server 2008 Service Pack 2 (SP2).

For more information about how to obtain a Windows Server 2008 service pack, click the following article number to view the article in the Microsoft Knowledge Base:

968849 How to obtain the latest service pack for Windows Server 2008

Registry information

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:

322756 How to back up and restore the registry in WindowsTo enable NSPI caching, manually create the following registry entry:

Location: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters

Name: Cache NSPI Hierarchy Sort

Type: REG_DWORD

Value: 1
Or, run the following script to add the registry item by using the Reg.exe utility:

REG ADD "HKLM\System\CurrentControlSet\Services\NTDS\Parameters" /v "Cache NSPI Hierarchy Sort" /t REG_DWORD /d 1 /f

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace a previously released hotfix.

File information

The global version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.

Windows Server 2008 file information notes

Important Windows Vista hotfixes and Windows Server 2008 hotfixes are included in the same packages. However, only "Windows Vista" is listed on the Hotfix Request page. To request the hotfix package that applies to one or both operating systems, select the hotfix that is listed under "Windows Vista" on the page. Always refer to the "Applies To" section in articles to determine the actual operating system that each hotfix applies to.

  • The files that apply to a specific product, SR_Level (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table.

    Version Product SR_Level Service branch
    6.0.600
    2.
    22xxx
    Windows Server 2008 SP2 LDR
  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are listed separately in the "Additional file information for Windows Server 2008" section. MUM files and MANIFEST files, and the associated security catalog (.cat) files, are extremely important to maintain the state of the updated components. The security catalog files, for which the attributes are not listed, are signed with a Microsoft digital signature.

For all supported x86-based versions of Windows Server 2008

File name File version File size Date Time Platform
Ntdsa.mof Not applicable 227,725 03-Apr-2009 20:49 Not applicable
Ntdsai.dll 6.0.6002.22528 1,953,792 19-Nov-2010 15:56 x86

For all supported x64-based versions of Windows Server 2008

File name File version File size Date Time Platform
Ntdsa.mof Not applicable 227,725 03-Apr-2009 20:42 Not applicable
Ntdsai.dll 6.0.6002.22528 2,640,384 19-Nov-2010 16:12 x64

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information

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

824684 Description of the standard terminology that is used to describe Microsoft software updates

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

972122 A query takes a long time to complete and increases CPU usage to a high level on the domain controllers that are running Windows Server 2003 when you use NSPI API functions to query address book information

Additional file information

Additional file information for Windows Server 2008

Additional files for all supported x86-based versions of Windows Server 2008

File name Update.mum
File version Not applicable
File size 3,189
Date (UTC) 19-Nov-2010
Time (UTC) 23:13
Platform Not applicable
File name X86_418a5a31de2bcd9dd408d91422214e58_31bf3856ad364e35_6.0.6002.22528_none_c3e00950804f8158.manifest
File version Not applicable
File size 712
Date (UTC) 19-Nov-2010
Time (UTC) 23:13
Platform Not applicable
File name X86_microsoft-windows-d..toryservices-ntdsai_31bf3856ad364e35_6.0.6002.22528_none_f328c061cf6fa838.manifest
File version Not applicable
File size 12,574
Date (UTC) 19-Nov-2010
Time (UTC) 16:15
Platform Not applicable

Additional files for all supported x64-based versions of Windows Server 2008

File name Amd64_e8ff5fe7b40b9be2a77fbb6316aecd85_31bf3856ad364e35_6.0.6002.22528_none_e1bb81097be55709.manifest
File version Not applicable
File size 716
Date (UTC) 19-Nov-2010
Time (UTC) 23:13
Platform Not applicable
File name Amd64_microsoft-windows-d..toryservices-ntdsai_31bf3856ad364e35_6.0.6002.22528_none_4f475be587cd196e.manifest
File version Not applicable
File size 12,632
Date (UTC) 19-Nov-2010
Time (UTC) 16:28
Platform Not applicable
File name Update.mum
File version Not applicable
File size 3,213
Date (UTC) 19-Nov-2010
Time (UTC) 23:13
Platform Not applicable