備份憑證服務
以下是示範如何使用憑證服務備份函式來備份 Certificate Services 資料庫及其相關聯檔案的案例。
- 呼叫 LoadLibrary) ,將Certadm.dll程式庫載入記憶體 (。
- 透過 GetProcAddress) ,擷取Certadm.dll (中每個必要函式的位址。 在其餘步驟中呼叫函式時,請使用這些位址。
- 呼叫 CertSrvIsServerOnline 以判斷憑證服務是否在線上。 憑證服務必須上線,備份作業才能成功。
- 呼叫 CertSrvBackupPrepare 以啟動備份會話。 產生的憑證服務備份內容控制碼將供許多其他備份函式使用。
- 呼叫 CertSrvRestoreGetDatabaseLocations 來判斷還原對應。 還原對應包含還原備份時要使用的路徑。 將 CertSrvRestoreGetDatabaseLocations 所擷取的資訊儲存至應用程式特定位置。
- 呼叫 CertSrvBackupGetDatabaseNames 來判斷要備份的資料庫檔案名。 針對每個檔案,執行步驟 7 到 9。
- 呼叫 CertSrvBackupOpenFile 以開啟要備份的檔案。
- 呼叫 CertSrvBackupRead 以從檔案讀取部分位元組,然後呼叫應用程式特定的常式,將位元組儲存在備份媒體上。 重複此步驟,直到備份檔案中的所有位元組為止。
- 呼叫 CertSrvBackupClose 以關閉檔案。
- 呼叫 CertSrvBackupGetBackupLogs 來判斷要備份的記錄檔名稱。 針對每個檔案,執行步驟 7 到 9。
- 呼叫 CertSrvBackupTruncateLogs 以截斷步驟 6 和 10 中備份的記錄檔。 此步驟是選擇性的;不過,只有在CertSrvBackupGetDatabaseNames和CertSrvBackupGetBackupGetBackupLogs傳回的所有檔案都已備份 (時,才呼叫CertSrvBackupTruncateLogs,否則還原作業將會失敗) 。 如需詳細資訊,請參閱 CertSrvBackupTruncateLogs 參考頁面。
- 呼叫 CertSrvBackupGetDynamicFileList 來判斷要備份的非資料庫檔案名。 這些檔案只能由 函式識別,而且必須透過一些其他方式進行備份。
- 使用與Certadm.dll分開的常式,備份步驟 12 中所識別的動態檔案。
- 呼叫 CertSrvBackupEnd 結束備份會話。
- 視需要呼叫 CertSrvBackupFree ,以釋放特定憑證服務備份函式所配置的緩衝區。 對 CertSrvBackupGetBackupLogs、 CertSrvBackupGetDatabaseNames和 CertSrvBackupGetDynamicFileList 的呼叫,將會配置可由 CertSrvBackupFree呼叫釋放的緩衝區。
- 呼叫 FreeLibrary以釋放Certadm.dll資源。
如需備份憑證服務資料庫和相關檔案所需許可權的資訊,請參閱 設定備份和還原許可權。