Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ниже приведен сценарий, показывающий, как использовать функции резервного копирования служб сертификатов для резервного копирования базы данных служб сертификатов и связанных с ним файлов.
- Загрузите библиотеку Certadm.dll в память (вызывая LoadLibrary).
- Получение адреса каждой из необходимых функций в Certadm.dll (с помощью GetProcAddress). Используйте эти адреса при вызове функций в оставшихся шагах.
- Вызовите CertSrvIsServerOnline, чтобы определить, подключены ли службы сертификатов. Службы сертификатов должны быть подключены к сети, чтобы операции резервного копирования были успешными.
- Вызовите CertSrvBackupPrepare, чтобы запустить сеанс резервного копирования. Результирующий дескриптор контекста резервного копирования служб сертификатов будет использоваться многими другими функциями резервного копирования.
- Вызовите CertSrvRestoreGetDatabaseLocations, чтобы определить карту восстановления. Карта восстановления содержит пути, используемые при восстановлении резервной копии. Сохраните сведения, полученные CertSrvRestoreGetDatabaseLocations в конкретное расположение приложения.
- Вызовите CertSrvBackupGetDatabaseNames, чтобы определить имена файлов базы данных для резервного копирования. Для каждого из этих файлов выполните шаги 7–9.
- Вызовите CertSrvBackupOpenFile, чтобы открыть файл для резервного копирования.
- Вызовите CertSrvBackupRead для чтения части байтов из файла, а затем вызовите подпрограмму для конкретного приложения для хранения байтов на носителе резервной копии. Повторите этот шаг, пока все байты в файле не будут резервированы.
- Вызовите CertSrvBackupClose, чтобы закрыть файл.
- Вызовите CertSrvBackupGetBackupLogs, чтобы определить имена файлов журналов для резервного копирования. Для каждого из этих файлов выполните шаги 7–9.
- Вызовите CertSrvBackupTruncateLogs, чтобы обрезать файлы журналов, которые были архивированы в шагах 6 и 10. Этот шаг является необязательным; однако вызовите CertSrvBackupTruncateLogs только в том случае, если все файлы, возвращенные CertSrvBackupGetDatabaseNames и CertSrvBackupGetBackupLogs были сохранены (в противном случае операция восстановления завершится ошибкой). Дополнительная информация представлена на справочной странице по CertSrvBackupTruncateLogs.
- Вызовите CertSrvBackupGetDynamicFileList, чтобы определить имена файлов, отличных от базы данных, для резервного копирования. Эти файлы идентифицируются только функцией и должны быть сохранены с использованием других средств.
- Резервное копирование динамических файлов, определенных на шаге 12, с помощью подпрограмм, отдельных от Certadm.dll.
- Вызовите CertSrvBackupEnd, чтобы завершить сеанс резервного копирования.
- Вызовите CertSrvBackupFree, чтобы освободить буферы, выделенные определенными функциями резервного копирования служб сертификатов. Вызовы CertSrvBackupGetBackupLogs, CertSrvBackupGetDatabaseNamesи CertSrvBackupGetDynamicFileList выделяют буферы, которые можно освободить с помощью вызова CertSrvBackupFree.
- Освободите ресурсы Certadm.dll, вызвав FreeLibrary.
Сведения о привилегиях, необходимых для резервного копирования базы данных служб сертификатов и связанных файлов, см. в статье Настройка прав резервного копирования и восстановления.