Microsoft KB Archive/910823

From BetaArchive Wiki
Knowledge Base


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"

Article ID: 910823

Article Last Modified on 10/11/2007



APPLIES TO

  • Microsoft Windows Server 2003 SP1, when used with:
    • Microsoft Windows Server 2003, Enterprise Edition
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
    • Microsoft Windows Server 2003, Enterprise x64 Edition
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Standard x64 Edition
    • Microsoft Windows Server 2003, Web Edition




SYMPTOMS

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.

CAUSE

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.

WORKAROUND

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.

  1. Locate the line where the problem is reported.
  2. 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.

  1. 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.



Additional query words: LDAP LDIF


Additional query words: Windows SE 172170 Windows SE Bug 172170

Keywords: kberrmsg kbtshoot kbprb KB910823