An application directory partition is represented by a
domainDNS object with an instanceType attribute value
of DS_INSTANCETYPE_IS_NC_HEAD combined with
DS_INSTANCETYPE_NC_IS_WRITEABLE. This domainDNS object
represents the application directory partition root (NC head), and
is named similar to a regular domain partition, for example,
DC=dynamicdata,DC=fabrikam,DC=com, which corresponds
to a DNS name of
application directory partition can, therefore, be instantiated
anywhere a domain partition can be instantiated. There is no
NetBIOS name associated with an application directory
It is possible to nest application directory partitions, that is, an application directory partition can have child application directory partitions. Searches with subtree scope rooted at an application directory partition head will generate continuation references to the child application directory partitions.
An application directory partition replica can only be created on a domain controller that is running on Windows Server 2003 or later and only while the Domain-Naming FSMO role is held by a Windows Server 2003 or later domain controller. In a mixed forest that has both Windows Server 2003 domain controllers and down-level domain controllers (Windows 2000 domain controllers or Windows NT 4.0 primary domain controllers), an attempt to create an application directory partition replica on a down-level domain controller will fail.
An application directory partition also has a corresponding crossRef object in the Partitions container of the configuration partition. The crossRef can be pre-created manually before creating the domainDNS object. The pre-created crossRef object must have the attribute values shown in the following table or the partition creation will fail. If the crossRef object does not exist, Active Directory will create one when the application directory partition is created.
|dnsRoot||Contains the DNS path of the domain controller that the application directory partition will be created on.|
|nCName||Contains the distinguished name of the partition. In the
example above, this attribute would contain
To create a new application directory partition with its first replica, perform the following steps
DC=dynamicdata,DC=mydomain,DC=com, the binding ADsPath would be
LDAP://<domain controller>/DC=mydomain,DC=com, where
<domain controller>is the DNS name of the domain controller that will host the partition.
The bind operation must specify the fast and delegation options. The fast option allows the bind to succeed even if the namespace does not exist. The delegation option is required to allow the domain controller to contact the Domain-Naming FSMO role holder using the same credentials.
The system version of the domain controller must be Windows Server 2003 operating system or later.
DC=dynamicdata, to represent the naming context head for the new partition. The domainDNS object must have an instanceType attribute with a value of 5 (DS_INSTANCETYPE_IS_NC_HEAD | DS_INSTANCETYPE_NC_IS_WRITEABLE). The instanceType attribute can only be set at creation time because it is a system-only attribute.
When the domainDNS object is created, Active Directory will perform the following steps:
The following table lists important attributes of the crossRef object.
|nCName||Contains the distinguished name of the partition.|
|dnsRoot||Contains the DNS name of the partition.|
|msDS-NC-Replica-Locations||The distinguished name of the nTDSDSA object of the domain controller for the first replica is added to this attribute.|
When the application directory partition is created, or when a new replica of the application directory partition is added and fully synchronized, Active Directory correctly registers the replica with NetLogon and DNS. For more information, and a list of the registered SRV records, see Locating an Application Directory Partition Host Server.
For more information about creating an application directory partition, see Example Code for Creating an Application Directory Partition.
The distinguished name of the Partitions container can be found in one of two ways. The first is more complicated to perform, but will always provide an accurate result:
The second method is easier to implement, but relies on the Partitions container having a particular relative distinguished name. It is not currently possible to change the name of the Partitions container, but if this capability is added in the future, the procedure below will not work correctly if the Partitions container has been renamed.
CN=Partitions,followed by the configurationNamingContext attribute to form the distinguished name of the Partitions container. The distinguished name will be in the form