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
- Rufen Sie die DsIsNTDSOnline-Funktion auf, um festzustellen, ob Active Directory Domain Services ausgeführt werden.
- 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.
- 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.
- 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.
- 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.
- Wenn Sie die Sicherung des Transaktionsprotokolls abgeschlossen haben, rufen Sie die DsBackupTruncateLogs-Funktion auf, um alle zugesagten Transaktionsprotokolle zu löschen, die gesichert wurden.
- 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.
- Geben Sie den Speicher für das Ablauftoken frei, indem Sie den Tokenzeiger an die DsBackupFree-Funktion übergeben.
- Rufen Sie abschließend die DsBackupEnd-Funktion auf, um alle Ressourcen freizugeben, die dem Sicherungskontexthandle zugeordnet sind.