Initialisieren eines Transaktionsabonnements von einer Sicherung (Replikationsprogrammierung mit Transact-SQL)

Obwohl ein Abonnement für eine Transaktionsveröffentlichung in der Regel mit einer Momentaufnahme initialisiert wird, kann ein Abonnement auch mit gespeicherten Replikationsprozeduren von einer Sicherung initialisiert werden. Weitere Informationen finden Sie unter Initialisieren eines Transaktionsabonnements ohne Momentaufnahme.

So initialisieren Sie einen Transaktionsabonnenten von einer Sicherung

  1. Stellen Sie bei einer bestehenden Veröffentlichung sicher, dass die Veröffentlichung die Fähigkeit unterstützt, von einer Sicherung initialisieren zu können. Führen Sie dazu sp_helppublication (Transact-SQL) auf dem Verleger für die Veröffentlichungsdatenbank aus. Notieren Sie den Wert von allow_initialize_from_backup im Resultset.

    • Wenn der Wert 1 ist, unterstützt die Veröffentlichung diese Funktionalität.

    • Wenn der Wert 0 ist, führen Sie sp_changepublication (Transact-SQL) auf dem Verleger für die Veröffentlichungsdatenbank aus. Geben Sie den Wert allow_initialize_from_backup für @property und den Wert true für @value an.

  2. Bei einer neuen Veröffentlichung führen Sie sp_addpublication (Transact-SQL) auf dem Verleger für die Veröffentlichungsdatenbank aus. Geben Sie den Wert true für allow_initialize_from_backup an. Weitere Informationen finden Sie unter Erstellen einer Veröffentlichung.

    VorsichtshinweisVorsicht

    Um fehlende Abonnentendaten zu vermeiden, wenn Sie sp_addpublication mit @allow_initialize_from_backup = N'true' verwenden, sollten Sie immer @immediate_sync = N'true' verwenden.

  3. Erstellen Sie mit der BACKUP (Transact-SQL)-Anweisung eine Sicherung der Veröffentlichungsdatenbank.

  4. Stellen Sie die Sicherung auf dem Abonnenten mit der RESTORE (Transact-SQL)-Anweisung wieder her.

  5. Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank die gespeicherte Prozedur sp_addsubscription (Transact-SQL) aus. Geben Sie die folgenden Parameter an:

    • @sync_type – der Wert initialize with backup.

    • @backupdevicetype – der Typ des Sicherungsmediums: logical (Standard), disk oder tape.

    • @backupdevicename – das logische oder physische Sicherungsmedium, das für den Wiederherstellungsvorgang verwendet wird.

      Für ein logisches Gerät geben Sie den Namen des Sicherungsmediums an, der beim Erstellen des Geräts mit sp_addumpdevice festgelegt wurde.

      Geben Sie für ein physisches Gerät einen vollständigen Pfad und einen Dateinamen an, z. B. DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\BACKUP\Mybackup.dat' oder TAPE = '\\.\TAPE0'.

    • (Optional) @password – ein Kennwort, das bereitgestellt wurde, als der Sicherungssatz erstellt wurde.

    • (Optional) @mediapassword – ein Kennwort, das bereitgestellt wurde, als der Mediensatz formatiert wurde.

    • (Optional) @fileidhint – Bezeichner für den Sicherungssatz, der wiederhergestellt werden soll. 1 gibt z. B. den ersten Sicherungssatz auf dem Sicherungsmedium an und 2 den zweiten Sicherungssatz.

    • (Optional für Bandmedien) @unload – Geben Sie den Wert 1 (Standardwert) an, wenn das Band nach Abschluss der Wiederherstellung aus dem Laufwerk ausgegeben werden soll, und 0, wenn es nicht ausgegeben werden soll.

  6. (Optional) Führen Sie für ein Pullabonnement sp_addpullsubscription (Transact-SQL) und sp_addpullsubscription_agent (Transact-SQL) auf dem Abonnenten für die Abonnementdatenbank aus. Weitere Informationen finden Sie unter Erstellen eines Pullabonnements.

  7. (Optional) Starten Sie den Verteilungs-Agent. Weitere Informationen finden Sie unter Synchronisieren eines Pullabonnements oder Synchronisieren eines Pushabonnements.

Siehe auch

Konzepte

Kopieren von Datenbanken durch Sichern und Wiederherstellen

Sichern und Wiederherstellen von SQL Server-Datenbanken