Initialisieren eines Transaktionsabonnements von einer Sicherung
Gilt für: SQL Server
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 Initialize a Transactional Subscription Without a Snapshotinitialisiert wird.
So initialisieren Sie einen Transaktionsabonnenten von einer Sicherung
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 1ist, unterstützt die Veröffentlichung diese Funktionalität.
Wenn der ermittelte Wert 0 ist, führen Sie sp_changepublication (Transact-SQL) auf dem Verleger für die Veröffentlichungsdatenbank aus. Legen Sie den Wert allow_initialize_from_backup für
@property
und den Wert TRUE für@value
fest.
Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergearticle (Transact-SQL) aus. Geben Sie den Wert true für allow_initialize_from_backupan. Weitere Informationen finden Sie unter Create a Publication.
Warnung
Um fehlende Abonnentendaten zu vermeiden, wenn Sie sp_addpublication oder sp_changepublication mit
@allow_initialize_from_backup = N'true'
verwenden, sollten Sie immer@immediate_sync = N'true'
verwenden.Erstellen Sie mit der BACKUP (Transact-SQL)-Anweisung eine Sicherung der Veröffentlichungsdatenbank.
Stellen Sie die Sicherung auf dem Abonnenten mit der RESTORE (Transact-SQL)-Anweisung wieder her.
Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addsubscription (Transact-SQL) aus. Geben Sie die folgenden Parameter an:
@sync_type
: ein Wert von 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\MSSQL13.MSSQLSERVER\BACKUP\Mybackup.dat'
oderTAPE = '\\.\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.
(Optional) Führen Sie für ein Pullabonnement sp_addpullsubscription (Transact-SQL) und sp_addpullsubscription_agent (Transact-SQL) im Abonnenten für die Abonnementdatenbank aus. Weitere Informationen finden Sie unter Create a Pull Subscription.
(Optional) Starten Sie den Verteilungs-Agent. Weitere Informationen finden Sie unter Synchronize a Pull Subscription oder Synchronize a Push Subscription.