Freigeben über


Sichern eines Active Directory-Servers

Für eine Active Directory-Serversicherung müssen Sie die Datenbank und die Transaktionsprotokolle sichern. Dieses Thema enthält eine exemplarische Vorgehensweise zum Sichern des Active Directory-Verzeichnisdiensts durch eine Sicherungsanwendung.

Der Aufrufer dieser Sicherungsfunktionen muss über die berechtigung SE_BACKUP_NAME verfügen. Sie können die DsSetAuthIdentity-Funktion verwenden, um den Sicherheitskontext festzulegen, unter dem die Sicherungs-/Wiederherstellungsfunktionen des Verzeichnisses aufgerufen werden.

Führen Sie zum Sichern eines Active Directory-Servers die folgenden Schritte aus

  1. Rufen Sie die DsIsNTDSOnline-Funktion auf, um festzustellen, ob Active Directory Domain Services ausgeführt werden.
  2. Wenn Active Directory Domain Services ausgeführt werden, rufen Sie die DsBackupPrepare-Funktion auf, um ein Sicherungskontexthandle zu initialisieren. Wenn Active Directory Domain Services nicht ausgeführt werden, kann sie nicht gesichert werden, und die Sicherungsanwendung muss beim Sicherungsvorgang fehlschlagen.
  3. Rufen Sie die DsBackupGetDatabaseNames-Funktion auf, um eine Liste der zu sichernden Dateien abzurufen. Um den von dieser Funktion zurückgegebenen Arbeitsspeicher freizugeben, rufen Sie die DsBackupFree-Funktion auf.
  4. Rufen Sie für jeden Namen in der zurückgegebenen Liste der Dateien die DsBackupOpenFile-Funktion auf, gefolgt von wiederholten Aufrufen der DsBackupRead-Funktion , bis die gesamte Datei gelesen wurde. Wenn Sie die Datei gelesen haben, rufen Sie die DsBackupClose-Funktion auf, um sie zu schließen.
  5. Nachdem alle Datenbankdateien gesichert wurden, rufen Sie die DsBackupGetBackupLogs-Funktion auf, um eine Liste mit Transaktionsprotokollen abzurufen. Diese Liste wird genau wie die Liste der Datenbankdateien behandelt.
  6. Wenn Sie die Sicherung des Transaktionsprotokolls abgeschlossen haben, rufen Sie die DsBackupTruncateLogs-Funktion auf, um alle zugesagten Transaktionsprotokolle zu löschen, die gesichert wurden.
  7. Speichern Sie den Inhalt des Ablauftokens, das von der DsBackupPrepare-Funktion bereitgestellt wird. Dies kann in einer Datei oder in einem anderen persistenten Arbeitsspeicher gespeichert werden. Dieses Token muss an die DsRestorePrepare-Funktion übergeben werden, um einen Wiederherstellungsvorgang zu initiieren.
  8. Geben Sie den Speicher für das Ablauftoken frei, indem Sie den Tokenzeiger an die DsBackupFree-Funktion übergeben.
  9. Rufen Sie abschließend die DsBackupEnd-Funktion auf, um alle Ressourcen freizugeben, die dem Sicherungskontexthandle zugeordnet sind.