sp_addscriptexec (Transact-SQL)

Stellt ein SQL-Skript (SQL-Datei) für alle Abonnenten einer Veröffentlichung bereit. Diese gespeicherte Prozedur wird auf dem Verleger für die Veröffentlichungsdatenbank ausgeführt.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

sp_addscriptexec [ @publication = ] publication
    [ , [ @scriptfile = ] 'scriptfile' ]
    [ , [ @skiperror = ] 'skiperror' ]
    [ , [ @publisher = ] 'publisher' ]

Argumente

  • [ @publication= ] 'publication'
    Der Name der Veröffentlichung. publication ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @scriptfile= ] 'scriptfile'
    Der vollständige Pfad zur SQL-Skriptdatei. scriptfile ist vom Datentyp nvarchar(4000) und hat keinen Standardwert.

  • [ @skiperror= ] 'skiperror'
    Zeigt an, ob der Verteilungs- oder Merge-Agent beendet werden soll, wenn ein Fehler bei der Skriptausführung festgestellt wird. SkipError ist vom bit-Datentyp und hat den Standardwert 0.

    0 = Der Agent wird angehalten.

    1 = Der Agent setzt die Ausführung des Skripts fort und ignoriert den Fehler.

  • [ @publisher= ] 'publisher'
    Gibt einen Nicht-Microsoft SQL Server-Verleger an. publisher ist vom Datentyp sysname. Der Standardwert ist NULL.

    HinweisHinweis

    publisher sollte nicht verwendet werden, wenn ein SQL Server-Verleger verwendet wird.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_addscriptexec wird bei der Transaktions- und Mergereplikation verwendet.

sp_addscriptexec wird für die Momentaufnahmereplikation nicht verwendet.

Zum Verwenden von sp_addscriptexec muss das SQL Server-Dienstkonto über Lese- und Schreibberechtigungen für den Momentaufnahmespeicherort und Leseberechtigungen für den Ort verfügen, an dem Skripts gespeichert sind.

Das Hilfsprogramm sqlcmd wird zum Ausführen des Skripts auf dem Abonnenten verwendet, und das Skript wird in dem Sicherheitskontext ausgeführt, der vom Verteilungs-Agent oder Merge-Agent beim Herstellen einer Verbindung mit der Abonnementdatenbank verwendet wird. Wenn der Agent in einer früheren Version von SQL Server ausgeführt wird, wird das Hilfsprogramm osql anstelle von sqlcmd verwendet.

sp_addscriptexec ist bei der Anwendung von Skripts auf Abonnenten hilfreich und verwendet sqlcmd, um den Inhalt des Skripts auf den Abonnenten anzuwenden. Da Abonnentenkonfigurationen variieren können, verursachen Skripts, die vor der Bereitstellung auf dem Verleger getestet werden, möglicherweise dennoch Fehler auf einem Abonnenten. skiperror ermöglicht es dem Verteilungs-Agent oder Merge-Agent, Fehler zu ignorieren und die Verarbeitung fortzusetzen. Verwenden Sie sqlcmd, um Skripts zu testen, bevor Sie sp_addscriptexec ausführen.

HinweisHinweis

Ausgelassene Fehler werden aus Referenzgründen weiterhin im Verlauf des Agents protokolliert.

Das Verwenden von sp_addscriptexec zum Bereitstellen einer Skriptdatei für Veröffentlichungen mithilfe von FTP für die Momentaufnahmeübermittlung wird nur für Microsoft SQL Server-Abonnenten unterstützt.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_addscriptexec ausführen.

Siehe auch

Aufgaben

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

Verweis

Gespeicherte Systemprozeduren (Transact-SQL)

Konzepte

Synchronisieren von Daten