Event ID 1147 — Schema Operations
Applies To: Windows Server 2008
Schema operations include the following:
- Updating the schema cache
- Updating the schema index
- Implementing schema modifications
- Maintaining schema integrity
Event Details
Product: | Windows Operating System |
ID: | 1147 |
Source: | Microsoft-Windows-ActiveDirectory_DomainService |
Version: | 6.0 |
Symbolic Name: | DIRLOG_SCHEMA_MISSING_ATT_ID |
Message: | Internal event: The following attribute does not contain an attribute identifier. Attribute: %1 The attribute will be ignored. |
Resolve
Look for other events that are related to schema integrity maintenance
Event IDs 1143, 1144, 1146 through 1148, 1152, 1207, 1846, and 1855 indicate an inconsistency in the schema, but the inconsistency is ignored and does not affect normal Active Directory operations. There may be an issue related to schema integrity maintenance. If there is, other related error messages appear in Event Viewer. Look for the following Event IDs: 1136, 1142, 1153 through 1156, 1845, 1847 through 1854, and 1895 through 1897. Use the additional information in these events to resolve the specific issue.
Verify
To verify that the schema is in a consistent state, complete the following procedures:
- Ensure that the domain controllers synchronize their directory data by starting Active Directory replication.
- Enable diagnostic logging for the schema.
- Update the schema cache.
- Verify that the schema was updated successfully by using Event Viewer.
To perform these procedures, you must have membership in Domain Admins, or you must have been delegated the appropriate authority.
Start Active Directory replication
To start Active Directory replication:
- Open a command prompt as an administrator. To open a command prompt as an administrator, click Start. In Start Search, type Command Prompt. At the top of the Start menu, right-click Command Prompt, and then click Run as administrator. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
- Run the command **repadmin /syncall /user:**domain\user **/pw:**password. Substitute the appropriate domain name, user name, and password for domain, user, and password, respectively. The command output indicates whether synchronization started successfully.
Enable diagnostic logging for the schema
To verify a successful update of the schema, you can enable diagnostic logging for the schema. When you enable diagnostic logging, a schema update produces Event ID 1582 in the Directory Service log of Event Viewer. To enable diagnostic logging for the schema, you must edit the registry.
To enable diagnostic logging for the schema:
Caution: Incorrectly editing the registry might severely damage your system. Before making changes to the registry, you should back up any valued data.
- Open Registry Editor. To open Registry Editor, click Start. In Start Search, type regedit, and then press ENTER. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
- In the registry location HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics, in the left pane, right-click the 24 DS Schema value, and then click Modify.
- Type 1 or higher (up to 5) for Value data to enable diagnostic logging for the schema. The higher the value, the more information is reported to the Directory Service log. Click OK.
Update the schema cache
To update the schema cache:
Create a file to force a schema cache update using Ldifde.exe. Create a new text file named SchemaUp (SchemaUp.txt, if you are viewing file extensions) in a folder location that is convenient for you to access.
Copy the following five lines of text and paste them as the contents of the SchemaUp.txt file.
dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-
After you paste the text into the file, ensure that there are no line breaks (carriage returns) between each line of text. If there are, delete the empty lines. Ensure that you have a hyphen as the last line of text in the file.
Save the file.
Open a command prompt as an administrator. To open a command prompt as an administrator, click Start. In Start Search, type Command Prompt. At the top of the Start Menu, right-click Command Prompt, and then click Run as administrator. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
At the command prompt, type ldif -i -f SchemaUp.txt, and then press ENTER. If necessary, type the file path to the text file that you saved. For example, if you saved the file in the Documents folder of an account named Administrator, type ldifde -i -f "c:\users\administrator\documents\schemaUp.txt", and then press ENTER.
Verify that the schema cache was updated successfully by using Event Viewer
To verify that the schema cache was updated successfully by using Event Viewer:
- Open Event Viewer. To open Event Viewer, click Start. In Start Search, type eventvwr.msc, and then press ENTER.
- Expand Applications and Services Logs, and then click Directory Service.
- Look for Event ID 1582, which confirms that the schema cache was reloaded successfully. If you do not see the event, click Find, type 1582, and then click Find Now. Event 1582 confirms that the schema cache was updated.
- Confirm that there are no Critical, Error, or Warning events that are related to the schema that occurred after the schema cache update. To locate events that are related to the schema, click Find, type DS Schema, and then click Find Next.
- Continue to click the Find Next button and review each event until you have verified that there are no Critical, Error, or Warning events that occurred after the schema cache update.
When you confirm that the schema cache was updated, you may no longer need diagnostic logging for schema events. To disable diagnostic logging for schema events, use the Reg command to set the 24 DS Schema value to 0. To set the value of 24 DS Schema to 0, at a command prompt, type the following command, and then press ENTER:
Reg Add HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics /v "24 DS Schema" /t REG_DWORD /d 0
The number after /d indicates the value, in this case, the logging level. For example, to set the logging level to 1, change /d 0 to /d 1 in the previous command.
To learn more about the Reg command syntax and options, at a command prompt, type Reg /?, and then press ENTER.