Freigeben über


Ausführen von Skripts während der Synchronisierung (Replikationsprogrammierung mit Transact-SQL)

Gilt für: SQL Server

Die Replikation unterstützt die bedarfsgesteuerte Ausführung von Skripts für Abonnenten von Transaktions- und Mergeveröffentlichungen. Diese Funktionalität kopiert das Skript in das Replikationsarbeitsverzeichnis und wendet das Skript dann mithilfe von sqlcmd auf dem Abonnenten an. Standardmäßig wird der Verteilungs-Agent beendet, wenn beim Anwenden des Skripts auf ein Abonnement für eine Transaktionsveröffentlichung ein Fehler auftritt. Mithilfe von gespeicherten Replikationsprozeduren können Sie ein Transact-SQL-Skript angeben, das programmgesteuert ausgeführt werden soll.

So geben Sie ein Skript an, das für alle Abonnenten einer Momentaufnahme-, Transaktions- oder Mergeveröffentlichung ausgeführt werden soll

  1. Erstellen und testen Sie das Transact-SQL-Skript, das bedarfsgesteuert ausgeführt wird.

  2. Speichern Sie die Skriptdatei an einem Speicherort, auf den der Momentaufnahme-Agent für die Veröffentlichung zugreifen kann.

  3. Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addscriptexec (Transact-SQL) aus. Geben Sie @publication, den Namen der Skriptdatei mit dem vollständigen, in Schritt 2 erstellten UNC-Pfad für @scriptfile und einen der folgenden Werte für @skiperror ein:

    • 0 – der Agent beendet die Ausführung des Skripts, wenn ein Fehler auftritt.

    • 1 – der Agent protokolliert Fehler und setzt die Ausführung des Skripts fort, wenn Fehler auftreten.

  4. Das angegebene Skript wird auf jedem Abonnenten ausgeführt, wenn der Agent das nächste Mal zur Synchronisierung des Abonnements ausgeführt wird.