Freigeben über


Vorgehensweise: Erneutes Initialisieren eines Abonnements (Replikationsprogrammierung mit Transact-SQL)

Einzelne Abonnements können für die erneute Initialisierung markiert werden, sodass während der nächsten Synchronisierung ein neuer Snapshot angewendet wird. Abonnements können mithilfe von gespeicherten Replikationsprozeduren programmgesteuert erneut initialisiert werden. Welche gespeicherte Prozedur verwendet wird, hängt dem Typ des Abonnements (d. h. Push- oder Pullabonnement) und vom Typ der Veröffentlichung ab, zu der das Abonnement gehört.

So initialisieren Sie ein Pullabonnement für eine Transaktionsveröffentlichung erneut

  1. Führen Sie auf dem Abonnenten für die Abonnementdatenbank sp_reinitpullsubscription (Transact-SQL) aus. Geben Sie @publisher, @publisher_db und @publication an. Damit wird das Abonnement für die Neuinitialisierung bei der nächsten Ausführung des Verteilungs-Agents markiert.

  2. (Optional) Starten Sie den Verteilungs-Agent auf dem Abonnenten, um das Abonnement zu synchronisieren. Weitere Informationen finden Sie unter Vorgehensweise: Synchronisieren eines Pullabonnements (Replikationsprogrammierung).

So initialisieren Sie ein Pushabonnement für eine Transaktionsveröffentlichung erneut

  1. Führen Sie auf dem Verleger sp_reinitsubscription (Transact-SQL) aus. Geben Sie @publication, @subscriber und @destination_db an. Damit wird das Abonnement für die Neuinitialisierung bei der nächsten Ausführung des Verteilungs-Agents markiert.

  2. (Optional) Starten Sie den Verteilungs-Agent auf dem Verteiler, um das Abonnement zu synchronisieren. Weitere Informationen finden Sie unter Vorgehensweise: Synchronisieren eines Pushabonnements (Replikationsprogrammierung).

So initialisieren Sie ein Pullabonnement für eine Mergeveröffentlichung erneut

  1. Führen Sie auf dem Abonnenten für die Abonnementdatenbank sp_reinitmergepullsubscription (Transact-SQL) aus. Geben Sie @publisher, @publisher_db und @publication an. Um Änderungen vom Abonnenten hochzuladen, bevor die Neuinitialisierung durchgeführt wird, geben Sie den Wert true für @upload_first an. Damit wird das Abonnement für die Neuinitialisierung bei der nächsten Ausführung des Merge-Agents markiert.

    Wichtiger HinweisWichtig

    Wenn Sie einen parametrisierten Filter hinzufügen, löschen oder ändern, können während der Neuinitialisierung keine ausstehenden Änderungen am Abonnenten auf den Verleger hochgeladen werden. Wenn Sie ausstehende Änderungen hochladen möchten, müssen Sie alle Abonnements synchronisieren, bevor Sie den Filter ändern.

  2. (Optional) Starten Sie den Merge-Agent auf dem Abonnenten, um das Abonnement zu synchronisieren. Weitere Informationen finden Sie unter Vorgehensweise: Synchronisieren eines Pullabonnements (Replikationsprogrammierung).

So initialisieren Sie ein Pushabonnement für eine Mergeveröffentlichung erneut

  1. Führen Sie auf dem Verleger sp_reinitmergesubscription (Transact-SQL) aus. Geben Sie @publication, @subscriber und @subscriber_db an. Um Änderungen vom Abonnenten hochzuladen, bevor die Neuinitialisierung durchgeführt wird, geben Sie den Wert true für @upload_first an. Damit wird das Abonnement für die Neuinitialisierung bei der nächsten Ausführung des Verteilungs-Agents markiert.

    Wichtiger HinweisWichtig

    Wenn Sie einen parametrisierten Filter hinzufügen, löschen oder ändern, können während der Neuinitialisierung keine ausstehenden Änderungen am Abonnenten auf den Verleger hochgeladen werden. Wenn Sie ausstehende Änderungen hochladen möchten, müssen Sie alle Abonnements synchronisieren, bevor Sie den Filter ändern.

  2. (Optional) Starten Sie den Merge-Agent auf dem Verteiler, um das Abonnement zu synchronisieren. Weitere Informationen finden Sie unter Vorgehensweise: Synchronisieren eines Pushabonnements (Replikationsprogrammierung).

So legen Sie die Neuinitialisierungsrichtlinie während der Erstellung einer neuen Mergeveröffentlichung fest

  • Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergepublication unter Angabe eines der folgenden Werte für @automatic_reinitialization_policy aus:

    • 1 – Änderungen werden vom Abonnenten hochgeladen, bevor eine automatische Neuinitialisierung des Abonnements durchgeführt wird, die durch eine Änderung an der Veröffentlichung erforderlich wurde.

    • 0 – Änderungen am Abonnenten werden verworfen, bevor eine automatische Neuinitialisierung des Abonnements durchgeführt wird, die durch eine Änderung an der Veröffentlichung erforderlich wurde.

    Wichtiger HinweisWichtig

    Wenn Sie einen parametrisierten Filter hinzufügen, löschen oder ändern, können während der Neuinitialisierung keine ausstehenden Änderungen am Abonnenten auf den Verleger hochgeladen werden. Wenn Sie ausstehende Änderungen hochladen möchten, müssen Sie alle Abonnements synchronisieren, bevor Sie den Filter ändern.

    Weitere Informationen finden Sie unter Vorgehensweise: Erstellen einer Veröffentlichung (Replikationsprogrammierung mit Transact-SQL).

So ändern Sie die Neuinitialisierungsrichtlinie für eine vorhandene Mergeveröffentlichung

  • Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_changemergepublication unter Angabe von automatic_reinitialization_policy für @property und einem der folgenden Werte für @value aus:

    • 1 – Änderungen werden vom Abonnenten hochgeladen, bevor eine automatische Neuinitialisierung des Abonnements durchgeführt wird, die durch eine Änderung an der Veröffentlichung erforderlich wurde.

    • 0 – Änderungen am Abonnenten werden verworfen, bevor eine automatische Neuinitialisierung des Abonnements durchgeführt wird, die durch eine Änderung an der Veröffentlichung erforderlich wurde.

    Wichtiger HinweisWichtig

    Wenn Sie einen parametrisierten Filter hinzufügen, löschen oder ändern, können während der Neuinitialisierung keine ausstehenden Änderungen am Abonnenten auf den Verleger hochgeladen werden. Wenn Sie ausstehende Änderungen hochladen möchten, müssen Sie alle Abonnements synchronisieren, bevor Sie den Filter ändern.

    Weitere Informationen finden Sie unter Vorgehensweise: Anzeigen und Ändern von Veröffentlichungseigenschaften (Replikationsprogrammierung mit Transact-SQL).