Error message when you try to import .ldf files on a computer that is running Windows Server 2003 with Service Pack 1: "Add error on line LineNumber: No such object"

Support for Windows Server 2003 ended on July 14, 2015

Microsoft ended support for Windows Server 2003 on July 14, 2015. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

This article has been archived. It is offered "as is" and will no longer be updated.
When objects on a computer are deleted or become corrupted, you may have to restore the computer by using a system state backup that contains the Active Directory database. You may then have to use the Ntdsutil.exe tool to mark the restored versions of these objects as authoritative.

On a domain controller that is running Windows Server 2003 with Service Pack 1 (SP1), the Ntdsutil tool writes back links for the objects that are restored authoritatively into .ldf files. The objects that are restored may be in several naming contexts.

When you try to import .ldf files into the target naming contexts (NCs), the import fails. Additionally, you may receive an error message that is similar to the following:
Loading entries.
Add error on line LineNumber: No such object
The server side error is: "Directory object not found."
Note In this error message, LineNumber is a placeholder for the line number.
The Ntdsutil tool tries to write files that are encoded in ASCII. However, this process fails to encode the object names in base64 format if the names contain characters that are in the upper ASCII range.

Note Characters that are in the upper ASCII range are characters that have a character code that is between 128 and 255.
To work around this problem, follow these steps:
  1. Open the affected .ldf file by using an editor that supports reading ASCII files or DOS files.

    Note Microsoft Visual Studio and WordPad are editors that are known to support reading ASCII files and to support writing Unicode.
  2. Locate the line where the problem is reported.
  3. Find the line that includes characters that are in the upper ASCII range. Delete the objects in the file that appear before this line. Then, save the file under new name by using Unicode encoding.

    Note The objects in the file that appear before the affected line are already imported successfully.
  4. Import the file that you saved in step 3 by using the ldifde command together with the -u parameter (ldifde -u). To avoid more errors, you can proactively process faulty object names in .ldf files by using this workaround.

    Note Make sure that you do not use characters in your object names that map to multiple ASCII code pages that differ from the code page that you use to read the ASCII file. If you do use these characters, the import errors will persist after you save the files by using Unicode encoding. You must also locate the line and manually correct the errors.
Windows SE 172170 Windows SE Bug 172170

Article ID: 910823 - Last Review: 12/09/2015 03:47:52 - Revision: 1.3

Microsoft Windows Server 2003 Service Pack 1

  • kbnosurvey kbarchive kbtshoot kberrmsg kbprb KB910823