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

Applies to: Windows Server 2008 DatacenterWindows Server 2008 Datacenter without Hyper-VWindows Server 2008 Enterprise More

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: 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 Windows
To 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.
    VersionProductSR_LevelService branch
    6.0.600
    2.
    22xxx
    Windows Server 2008SP2LDR
  • 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 nameFile versionFile sizeDateTimePlatform
Ntdsa.mofNot applicable227,72503-Apr-200920:49Not applicable
Ntdsai.dll6.0.6002.225281,953,79219-Nov-201015:56x86
For all supported x64-based versions of Windows Server 2008
File nameFile versionFile sizeDateTimePlatform
Ntdsa.mofNot applicable227,72503-Apr-200920:42Not applicable
Ntdsai.dll6.0.6002.225282,640,38419-Nov-201016:12x64

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 nameUpdate.mum
File versionNot applicable
File size3,189
Date (UTC)19-Nov-2010
Time (UTC)23:13
PlatformNot applicable
File nameX86_418a5a31de2bcd9dd408d91422214e58_31bf3856ad364e35_6.0.6002.22528_none_c3e00950804f8158.manifest
File versionNot applicable
File size712
Date (UTC)19-Nov-2010
Time (UTC)23:13
PlatformNot applicable
File nameX86_microsoft-windows-d..toryservices-ntdsai_31bf3856ad364e35_6.0.6002.22528_none_f328c061cf6fa838.manifest
File versionNot applicable
File size12,574
Date (UTC)19-Nov-2010
Time (UTC)16:15
PlatformNot applicable
Additional files for all supported x64-based versions of Windows Server 2008
File nameAmd64_e8ff5fe7b40b9be2a77fbb6316aecd85_31bf3856ad364e35_6.0.6002.22528_none_e1bb81097be55709.manifest
File versionNot applicable
File size716
Date (UTC)19-Nov-2010
Time (UTC)23:13
PlatformNot applicable
File nameAmd64_microsoft-windows-d..toryservices-ntdsai_31bf3856ad364e35_6.0.6002.22528_none_4f475be587cd196e.manifest
File versionNot applicable
File size12,632
Date (UTC)19-Nov-2010
Time (UTC)16:28
PlatformNot applicable
File nameUpdate.mum
File versionNot applicable
File size3,213
Date (UTC)19-Nov-2010
Time (UTC)23:13
PlatformNot applicable