Active Directory サーバーの復元
Active Directory サーバーはオフラインで復元する必要があります。 ディレクトリ サービス復元モードでシステムを再起動する必要があります。 このモードでは、オペレーティング システムは Active Directory ドメイン Services なしで実行されており、すべてのユーザー検証はレジストリのセキュリティ アカウント マネージャー (SAM) を介して行われます。 Active Directory ドメインサービスを復元するには、復元される doメイン コントローラーでローカル管理者の資格情報を使用します。
復元関数の呼び出し元には、Standard Edition_RESTORE_NAMEアクセス権限が必要です。 DsSetAuthIdentity 関数を使用して、ディレクトリのバックアップおよび復元関数が呼び出されるセキュリティ コンテキストを設定します。
Active Directory ドメインサービスを復元するときは、他のシステム状態コンポーネントも復元する必要があることに注意してください。
Active Directory ドメイン サービスを復元するには
- DsIsNTDSOnline 関数を呼び出して、Active Directory ドメイン Services が実行されているかどうかを確認します。
- Active Directory ドメイン Services が実行されていない場合は、DsRestorePrepare 関数が呼び出されて復元操作が初期化され、バックアップ コンテキスト ハンドルが取得されます。 Active Directory ドメイン サービスが実行されている場合は、復元できません。復元アプリケーションは復元操作を失敗する必要があります。 DsRestorePrepare 関数では、バックアップ操作中に DsBackupPrepare 関数から有効期限トークンを取得する必要があります。
- DsRestoreGetDatabaseLocations 関数を呼び出して、ファイルを復元するディレクトリを決定します。 この関数が失敗した場合は、元のバックアップ ソース ディレクトリにデータを復元します。これは、データのバックアップ元のディレクトリです。
- DsRestoreRegister 関数を呼び出して、復元操作用に Active Directory サーバーを準備し、復元ディレクトリをロックします。
- 標準の Win32 関数を使用してファイルを復元します。 まず、宛先ディレクトリ内のすべてのファイルを削除します。次に、バックアップ ファイルをコピー先ディレクトリにコピーします。
- DsRestoreRegisterComplete 関数を呼び出して、復元が完了したことを示します。
- DsRestoreEnd 関数を呼び出して、コンテキストに関連付けられているすべてのリソースを解放します。
ディレクトリ サービス復元モードで復元した後、doメイン コントローラーを通常モードで再起動する必要があります。 ディレクトリ サービスが開始されると、doメイン コントローラーは通常の整合性チェックを実行し、復元されたディレクトリはオンラインになります。
Active Directory サーバーの復元は常に 2 部構成の操作であることに注意してください。 まず、バックアップが作成された時刻にデータベースを復元します。 次に、新しく復元された DSA が doメイン およびエンタープライズ フォレスト内の他の DSA からバックアップ後の更新をレプリケートするディレクトリをレプリケートします。
ディレクトリ サービスのレプリカを含む Windows 2000 または Windows Server 2003 で実行されているコンピューターは、doメイン コントローラーです。
DsRestoreRegister 関数は、復元が正常に機能するためにレジストリの復元プロセスで存続する必要があるデータをレジストリに追加します。 このレジストリ データを確実に保持するには、RegReplaceKey 関数の呼び出し後にコンピューターを再起動する前に、DsRestore* 関数を使用してサービスActive Directory ドメイン復元します。 このプロセスは、コンピューターが再起動され、DsRestoreRegister 関数によって追加されたレジストリ データが、レジストリの復元操作中に置き換えられないように除外されるまで、RegReplaceKey がレジストリ ハイブを実際に置き換えないためです。