Een transactioneel abonnement initialiseren vanuit een back-up

Van toepassing op:SQL Server

Hoewel een abonnement op een transactionele publicatie doorgaans wordt geïnitialiseerd met een momentopname, kan een abonnement worden geïnitialiseerd vanuit een back-up met behulp van opgeslagen replicatieprocedures. Zie Een transactioneel abonnement initialiseren zonder momentopname voor meer informatie.

Een transactionele abonnee initialiseren vanuit een back-up

  1. Voor een bestaande publicatie moet u ervoor zorgen dat de publicatie de mogelijkheid ondersteunt om back-ups te initialiseren door sp_helppublication (Transact-SQL) uit te voeren op de Publisher in de publicatiedatabase. Noteer de waarde van allow_initialize_from_backup in de resultatenset.

    • Als de waarde 1 is, ondersteunt de publicatie deze functionaliteit.

    • Als de waarde 0 is, voert u sp_changepublication (Transact-SQL) uit op de Publisher in de publicatiedatabase. Geef een waarde op van allow_initialize_from_backup voor @property en een waarde van true voor @value.

  2. Voor een nieuwe publicatie voert u sp_addpublication (Transact-SQL) uit op de Publisher in de publicatiedatabase. Geef een waarde van true op voor allow_initialize_from_backup. Zie Een publicatie maken voor meer informatie.

    Warning

    Om ontbrekende abonneegegevens te voorkomen, moet u bij het gebruik van sp_addpublication of sp_changepublication altijd @allow_initialize_from_backup = N'true'gebruiken @immediate_sync = N'true'.

  3. Maak een back-up van de publicatiedatabase met behulp van de BACKUP instructie (Transact-SQL).

  4. Herstel de back-up op de abonnee met behulp van de instructie RESTORE (Transact-SQL).

  5. Voer in de Publisher op de publicatiedatabase de opgeslagen procedure sp_addsubscription (Transact-SQL) uit. Geef de volgende parameters op:

    • @sync_type - een waarde van initialiseren met back-up.

    • @backupdevicetype - het type back-upapparaat: logisch (standaard), schijf of tape.

    • @backupdevicename - het logische of fysieke back-upapparaat dat moet worden gebruikt voor de herstelbewerking.

      Geef voor een logisch apparaat de naam op van het back-upapparaat dat is opgegeven toen sp_addumpdevice werd gebruikt om het apparaat te maken.

      Geef voor een fysiek apparaat een volledig pad en een volledige bestandsnaam op, zoals DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\BACKUP\Mybackup.dat' of TAPE = '\\.\TAPE0'.

    • (Optioneel) @password - een wachtwoord dat is opgegeven toen de back-upset werd gemaakt.

    • (Optioneel) @mediapassword - een wachtwoord dat is opgegeven toen de mediaset werd opgemaakt.

    • (Optioneel) @fileidhint - id voor de back-upset die moet worden hersteld. Als u bijvoorbeeld 1 opgeeft, geeft de eerste back-upset op het back-upmedium en 2 de tweede back-upset aan.

    • (Optioneel voor tapeapparaten) @unload - geef een waarde van 1 op (standaard) als de tape na voltooiing van het herstel uit het station moet worden gehaald en 0 als deze niet uit het station moet worden gehaald.

  6. (Optioneel) Voor een pull-abonnement voert u sp_addpullsubscription (Transact-SQL) en sp_addpullsubscription_agent (Transact-SQL) uit bij abonnee in de abonnementsdatabase. Zie Een pull-abonnement maken voor meer informatie.

  7. (Optioneel) Start de distributieagent. Zie Een pull-abonnement synchroniseren of een pushabonnement synchroniserenvoor meer informatie.