Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Följande scenario visar hur säkerhetskopieringsfunktionerna för Certificate Services kan användas för att återställa och återställa en Certificate Services-databas och dess associerade filer. Återställningsprocessen innebär att du skriver filerna som finns i en säkerhetskopia till disk. Du kan återställa flera säkerhetskopieringsuppsättningar (en fullständig säkerhetskopia plus noll eller fler inkrementella säkerhetskopior), men alla återställningar måste slutföras innan återställningsprocessen påbörjas. Återställningsprocessen innebär att Certificate Services spelar upp loggfiler för att säkerställa databas- och loggfilkonsekvens, vilket säkerställer databasens integritet. Scenariot illustrerar funktionsanropen för att återställa säkerhetskopieringsuppsättningarna och informera Certificate Services om återställningsparametrarna.
Det måste finnas en befintlig fullständig säkerhetskopia av Certificate Services-databasen innan du implementerar det här scenariot.
- Läs in Certadm.dll-biblioteket i minnet (genom att anropa LoadLibrary).
- Hämta adressen för var och en av de nödvändiga funktionerna i Certadm.dll (med hjälp av GetProcAddress). Använd dessa adresser när du anropar funktionerna i de återstående stegen.
- Anropa CertSrvIsServerOnline för att avgöra om Certificate Services är online. Om Certificate Services körs stänger du av det innan du fortsätter. Certificate Services får inte vara online för att återställningsåtgärderna ska lyckas.
- Anropa CertSrvRestorePrepare för att påbörja en återställningssession. Den resulterande kontexthanteraren för Certificate Services-säkerhetskopiering används av flera av de andra funktionerna.
- Fastställa sökvägen för databasplatsen. Under ett säkerhetskopieringsscenario skulle det här värdet ha varit tillgängligt från ett anrop till CertSrvRestoreGetDatabaseLocations; det här värdet ska ha lagrats som en del av säkerhetskopian.
- Skapa en återställningskarta som anger namnet på den återställde databasen. En databasåterställningsmappningsstruktur för Certifikattjänster (CSEDB_RSTMAPW) används för att ange en återställningskarta. Ange CSEDB_RSTMAPW:s medlem pwszDatabaseName och pwszNewDatabaseName till den databasplats som fastställdes i steg 5. Om den återställde databasen ska ha ett annat namn än säkerhetskopieringsdatabasen kan du ange CSEDB_RSTMAPW pwszNewDatabaseName medlem till det nya databasnamnet.
- Om du vill se till att ändringar som görs i databasen efter att säkerhetskopieringen har utförts inte tillämpas igen när databasåterställningen är klar (som en del av databasåterställningen som utfördes vid nästa start av Certificate Services), tar du bort filer från målserverns aktiva databas- och loggkataloger.
- Kopiera filerna som finns i den fullständiga säkerhetskopian till målserverns aktiva databas och loggkataloger.
- Anropa CertSrvRestoreRegister för att registrera en återställningsåtgärd för den fullständiga säkerhetskopieringen. CertSrvRestoreRegister använder återställningskartan som anges i steg 6. CertSrvRestoreRegister anger också platsen för säkerhetskopieringsdatabasen och loggarna. Genom att anropa CertSrvRestoreRegister tvingas Certifikattjänster att försöka utföra en återställningsoperation nästa gång den startas. Det förhindrar också att Certifikattjänster bearbetar certifikatbegäranden tills återställningen har slutförts.
- Anropa CertSrvRestoreRegisterCompleteoch avsluta registreringsaktiviteten som startade i steg 8. Observera att registreringen av en återställningsåtgärd är en instruktion för Certificate Services att följa när den startas. den faktiska återställningen sker först när Certificate Services har startats.
- För att varje inkrementell säkerhetskopiering ska återställas kopierar du filerna som finns i den inkrementella säkerhetskopieringen till målserverns active log-katalog och anropar sedan CertSrvRestoreRegisterföljt av ett anrop till CertSrvRestoreRegisterComplete. Registreringen av inkrementella säkerhetskopior för återställning kan ske i valfri ordning, men endast uppsättningen filer för en inkrementell säkerhetskopiering bör kopieras till servern innan varje anrop till CertSrvRestoreRegister.
- Kopiera de dynamiska filerna för Certificate Services till målservern. De dynamiska filerna skulle ha identifierats under säkerhetskopieringen när CertSrvBackupGetDynamicFileList anropades. Det kan vara nödvändigt att stoppa World Wide Web Publishing Service för att tillåta att de dynamiska filerna skrivs över.
- Anropa CertSrvRestoreEnd för att avsluta återställningssessionen.
- Starta Certificate Services-programmet manuellt (eller vänta tills nästa omstart för att det ska startas automatiskt). När Certificate Services startar avgör den om en återställningsåtgärd har registrerats. Om en återställningsåtgärd har registrerats påbörjar Certificate Services återställningen. Certificate Services bearbetar inga certifikatbegäranden förrän återställningsåtgärden har slutförts.
Anmärkning
När en återställning är klar är det viktigt att du gör en ny fullständig säkerhetskopia av Certificate Services-databasen. Detta är nödvändigt för att trunkera de återställde loggfilerna och upprätta en grundläggande säkerhetskopia för framtida återställningar. Säkerhetskopieringar som utförs efter en återställning kan inte blandas med säkerhetskopior (fullständiga eller inkrementella) som görs före återställningen. Det vill säga att när en certifikattjänstdatabas har återställts och har förlopp till ett senare tillstånd kan du inte använda säkerhetskopiorna före återställningen för att återställa databasen till det efterföljande tillståndet.