Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server
Stellt ein Transact-SQL-Skript (.sql
Datei) für alle Abonnenten einer Publikation bereit. Diese gespeicherte Prozedur wird im Publisher in der Publikationsdatenbank ausgeführt.
Transact-SQL-Syntaxkonventionen
Syntax
sp_addscriptexec
[ @publication = ] N'publication'
, [ @scriptfile = ] N'scriptfile'
[ , [ @skiperror = ] skiperror ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
Argumente
[ @publication = ] N'Publikation'
Der Name der Veröffentlichung. @publication ist "sysname" ohne Standard.
[ @scriptfile = ] N'scriptfile'
Der vollständige Pfad zur SQL-Skriptdatei. @scriptfile ist nvarchar(4000), ohne Standard.
[ @skiperror = ] skiperror
Zeigt an, ob der Verteilungs- oder Merge-Agent beendet werden soll, wenn ein Fehler bei der Skriptausführung festgestellt wird. @skiperror ist bit, mit einem Standardwert von 0
.
0
= der Agent stoppt.1
= Der Agent setzt das Skript fort und ignoriert den Fehler.
[ @publisher = ] N'publisher'
Gibt einen Nicht-SQL Server-Herausgeber an. @publisher ist "sysname" mit der Standardeinstellung "NULL
.
@publisher sollte beim Veröffentlichen aus einem SQL Server-Herausgeber nicht verwendet werden.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Hinweise
sp_addscriptexec
wird in der Transaktionsreplikation und der Seriendruckreplikation verwendet.
sp_addscriptexec
wird nicht für die Snapshotreplikation verwendet.
Für die Verwendung sp_addscriptexec
muss das SQL Server-Dienstkonto Über Lese- und Schreibberechtigungen für den Speicherort der Momentaufnahme und Leseberechtigungen für den Speicherort verfügen, an dem skripts gespeichert sind.
Das sqlcmd-Hilfsprogramm wird verwendet, um das Skript beim Abonnenten auszuführen, und das Skript wird im Sicherheitskontext ausgeführt, der vom Verteilungs-Agent oder Merge-Agent beim Herstellen einer Verbindung mit der Abonnementdatenbank verwendet wird. Wenn der Agent auf einer früheren Version von SQL Server ausgeführt wird, wird das osql Utility anstelle des sqlcmd-Hilfsprogramms verwendet.
sp_addscriptexec
ist hilfreich beim Anwenden von Skripts auf Abonnenten und verwendet das sqlcmd-Hilfsprogramm , um den Inhalt des Skripts auf den Abonnenten anzuwenden. Da Abonnentenkonfigurationen jedoch variieren können, können Skripts, die vor dem Veröffentlichen in Publisher getestet wurden, weiterhin Fehler bei einem Abonnenten verursachen. @skiperror ermöglicht das Verteilungs-Agent oder Merge-Agent Fehler zu ignorieren und fortzufahren. Verwenden Sie das sqlcmd-Hilfsprogramm , um Skripts vor dem Ausführen sp_addscriptexec
zu testen.
Hinweis
Übersprungene Fehler werden weiterhin im Agent-Verlauf protokolliert, um referenziert zu werden.
Wird sp_addscriptexec
verwendet, um eine Skriptdatei für Publikationen zu veröffentlichen, die FTP für die Snapshotübermittlung verwenden, wird nur für SQL Server-Abonnenten unterstützt.
Berechtigungen
Nur Mitglieder der festen Serverrolle sysadmin oder db_owner feste Datenbankrolle können ausgeführt werden sp_addscriptexec
.