sp_addmergepullsubscription_agent (Transact-SQL)
Fügt einen neuen Agentauftrag für die geplante Synchronisierung eines Pullabonnements mit einer Mergeveröffentlichung hinzu. Diese gespeicherte Prozedur wird auf dem Abonnenten für die Abonnementdatenbank ausgeführt.
Syntax
sp_addmergepullsubscription_agent [ [ @name = ] 'name' ]
, [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication =] 'publication'
[ , [ @publisher_security_mod e= ] publisher_security_mode ]
[ , [ @publisher_login = ] 'publisher_login' ]
[ , [ @publisher_password = ] 'publisher_password' ]
[ , [ @publisher_encrypted_password = ] publisher_encrypted_password ]
[ , [ @subscriber = ] 'subscriber' ]
[ , [ @subscriber_db = ] 'subscriber_db' ]
[ , [ @subscriber_security_mode = ] subscriber_security_mode ]
[ , [ @subscriber_login = ] 'subscriber_login' ]
[ , [ @subscriber_password= ] 'subscriber_password' ]
[ , [ @distributor = ] 'distributor' ]
[ , [ @distributor_security_mode = ] distributor_security_mode ]
[ , [ @distributor_login = ] 'distributor_login' ]
[ , [ @distributor_password = ] 'distributor_password' ]
[ , [ @encrypted_password = ] encrypted_password ]
[ , [ @frequency_type = ] frequency_type ]
[ , [ @frequency_interval = ] frequency_interval ]
[ , [ @frequency_relative_interval = ] frequency_relative_interval ]
[ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]
[ , [ @frequency_subday = ] frequency_subday ]
[ , [ @frequency_subday_interval = ] frequency_subday_interval ]
[ , [ @active_start_time_of_day = ] active_start_time_of_day ]
[ , [ @active_end_time_of_day = ] active_end_time_of_day ]
[ , [ @active_start_date = ] active_start_date ]
[ , [ @active_end_date = ] active_end_date ]
[ , [ @optional_command_line = ] 'optional_command_line' ]
[ , [ @merge_jobid = ] merge_jobid ]
[ , [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' ]
[ , [ @ftp_address = ] 'ftp_address' ]
[ , [ @ftp_port = ] ftp_port ]
[ , [ @ftp_login = ] 'ftp_login' ]
[ , [ @ftp_password = ] 'ftp_password' ]
[ , [ @alt_snapshot_folder = ] 'alternate_snapshot_folder' ]
[ , [ @working_directory = ] 'working_directory' ]
[ , [ @use_ftp = ] 'use_ftp' ]
[ , [ @reserved = ] 'reserved' ]
[ , [ @use_interactive_resolver = ] 'use_interactive_resolver' ]
[ , [ @offloadagent = ] 'remote_agent_activation' ]
[ , [ @offloadserver = ] 'remote_agent_server_name']
[ , [ @job_name = ] 'job_name' ]
[ , [ @dynamic_snapshot_location = ] 'dynamic_snapshot_location' ]
[ , [ @use_web_sync = ] use_web_sync ]
[ , [ @internet_url = ] 'internet_url' ]
[ , [ @internet_login = ] 'internet_login' ]
[ , [ @internet_password = ] 'internet_password' ]
[ , [ @internet_security_mode = ] internet_security_mode ]
[ , [ @internet_timeout = ] internet_timeout ]
[ , [ @hostname = ] 'hostname' ]
[ , [ @job_login = ] 'job_login' ]
[ , [ @job_password = ] 'job_password' ]
Argumente
[ @name = ] 'name'
Der Name des Agents. name ist vom Datentyp sysname und hat den Standardwert NULL.[ @publisher = ] 'publisher'
Der Name des Verlegerservers. publisher ist vom Datentyp sysname und hat keinen Standardwert.[ @publisher_db =] 'publisher_db'
Der Name der Verlegerdatenbank. publisher_db ist vom Datentyp sysname und hat keinen Standardwert.[ @publication=] 'publication'
Der Name der Veröffentlichung. publication ist ein Wert vom Datentyp sysname und weist keinen Standardwert auf.[ @publisher_security_mode = ] publisher_security_mode
Der Sicherheitsmodus, der beim Synchronisieren zum Herstellen der Verbindung mit einem Verleger verwendet wird. publisher_security_mode ist vom Datentyp int und hat den Standardwert 1. Mit 0 wird die SQL Server-Authentifizierung angegeben. Der Wert 1 gibt die Windows-Authentifizierung an.Sicherheitshinweis Verwenden Sie nach Möglichkeit die Windows-Authentifizierung.
[ @publisher_login = ] 'publisher_login'
Der Anmeldename, der beim Synchronisieren zum Herstellen der Verbindung mit dem Verleger verwendet wird. publisher_login ist vom Datentyp sysname und hat den Standardwert NULL.[ @publisher_password = ] 'publisher_password'
Das zum Herstellen der Verbindung mit dem Verleger verwendete Kennwort. publisher_password ist vom Datentyp sysname und hat den Standardwert NULL.Sicherheitshinweis Verwenden Sie kein leeres Kennwort. Verwenden Sie ein sicheres Kennwort. Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Sicherheitsanmeldeinformationen zur Laufzeit anzugeben. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, muss die Datei an einem sicheren Ort gespeichert werden, um unberechtigten Zugriff zu vermeiden.
[ @publisher_encrypted_password = ]publisher_encrypted_password
Das Festlegen von publisher_encrypted_password wird nicht mehr unterstützt. Der Versuch, diesen bit-Parameter auf 1 festzulegen, führt zu einem Fehler.[ @subscriber=] 'subscriber'
Der Name des Abonnenten. subscriber ist vom Datentyp sysname und hat den Standardwert NULL.[ @subscriber_db = ] 'subscriber_db'
Der Name der Abonnementdatenbank. subscriber_db ist vom Datentyp sysname und hat den Standardwert NULL.[ @subscriber_security_mode=] subscriber_security_mode
Der Sicherheitsmodus, der beim Synchronisieren zum Herstellen der Verbindung mit einem Abonnenten verwendet wird. subscriber_security_mode ist vom Datentyp int und hat den Standardwert 1. Mit 0 wird die SQL Server-Authentifizierung angegeben. Der Wert 1 gibt die Windows-Authentifizierung an.Hinweis Dieser Parameter wurde als veraltet markiert, wird jedoch zum Sicherstellen der Abwärtskompatibilität von Skripts aufrechterhalten. Der Merge-Agent verwendet für die Herstellung einer Verbindung mit dem lokalen Abonnenten stets die Windows-Authentifizierung. Falls für diesen Parameter ein Wert angegeben wird, wird zwar eine Warnmeldung zurückgegeben, doch der Wert selbst wird ignoriert.
[ @subscriber_login =] 'subscriber_login'
Der Anmeldename des Abonnenten, der beim Synchronisieren zum Herstellen der Verbindung mit einem Abonnenten verwendet wird. subscriber_login ist erforderlich, wenn subscriber_security_mode auf 0 festgelegt wird. subscriber_login ist vom Datentyp sysname und hat den Standardwert NULL.Hinweis Dieser Parameter wurde als veraltet markiert, wird jedoch zum Sicherstellen der Abwärtskompatibilität von Skripts aufrechterhalten. Falls für diesen Parameter ein Wert angegeben wird, wird zwar eine Warnmeldung zurückgegeben, doch der Wert selbst wird ignoriert.
[ @subscriber_password=] 'subscriber_password'
Das Abonnentenkennwort für die SQL Server-Authentifizierung. subscriber_password ist erforderlich, wenn subscriber_security_mode auf 0 festgelegt wird. subscriber_password ist vom Datentyp sysname und hat den Standardwert NULL.Hinweis Dieser Parameter wurde als veraltet markiert, wird jedoch zum Sicherstellen der Abwärtskompatibilität von Skripts aufrechterhalten. Falls für diesen Parameter ein Wert angegeben wird, wird zwar eine Warnmeldung zurückgegeben, doch der Wert selbst wird ignoriert.
[ @distributor = ] 'distributor'
Der Name des Verteilers. distributor ist vom Datentyp sysname und hat den Standardwert publisher, d. h. der Verleger ist auch der Verteiler.[ @distributor_security_mode=] distributor_security_mode
Der Sicherheitsmodus, der beim Synchronisieren zum Herstellen der Verbindung mit einem Verteiler verwendet wird. distributor_security_mode ist vom Datentyp int und hat den Standardwert 0. Mit 0 wird die SQL Server-Authentifizierung angegeben. Der Wert 1 gibt die Windows-Authentifizierung an.Sicherheitshinweis Verwenden Sie nach Möglichkeit die Windows-Authentifizierung.
[ @distributor_login=] 'distributor_login'
Der Anmeldename des Verteilers, der beim Synchronisieren zum Herstellen der Verbindung mit einem Verteiler verwendet wird. distributor_login ist erforderlich, wenn distributor_security_mode auf 0 festgelegt wird. distributor_login ist vom Datentyp sysname und hat den Standardwert NULL.[ @distributor_password =] 'distributor_password'
Das Verteilerkennwort. distributor_password ist erforderlich, wenn distributor_security_mode auf 0 festgelegt wird. distributor_password ist vom Datentyp sysname und hat den Standardwert NULL.Sicherheitshinweis Verwenden Sie kein leeres Kennwort. Verwenden Sie ein sicheres Kennwort. Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Sicherheitsanmeldeinformationen zur Laufzeit anzugeben. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, muss die Datei an einem sicheren Ort gespeichert werden, um unberechtigten Zugriff zu vermeiden.
[ @encrypted_password = ] encrypted_password
Das Festlegen von encrypted_password wird nicht mehr unterstützt. Der Versuch, diesen bit-Parameter auf 1 festzulegen, führt zu einem Fehler.[ @frequency_type=] frequency_type
Die Häufigkeit für die Planung des Merge-Agents. frequency_type ist vom Datentyp int. Die folgenden Werte sind möglich:Wert
Beschreibung
1
Einmal
2
Bedarfsgesteuert
4
Täglich
8
Wöchentlich
16
Monatlich
32
Monatlich, relativ
64
Autostart
128
Wiederholt
NULL (Standard)
Hinweis Durch die Angabe des Werts 64 wird der Merge-Agent im fortlaufenden Modus ausgeführt. Dies entspricht dem Festlegen des -Continuous-Parameters für den Agent. Weitere Informationen finden Sie unter Replikationsmerge-Agent.
[ @frequency_interval=] frequency_interval
Der Tag oder die Tage, an dem bzw. an denen der Merge-Agent ausgeführt wird. frequency_interval ist vom Datentyp int. Die folgenden Werte sind möglich:Wert
Beschreibung
1
Sonntag
2
Montag
3
Dienstag
4
Mittwoch
5
Donnerstag
6
Freitag
7
Samstag
8
Tag
9
Arbeitstage
10
Wochenendtage
NULL (Standard)
[ @frequency_relative_interval=] frequency_relative_interval
Das Datum des Merge-Agents. Dieser Parameter wird verwendet, wenn frequency_type auf 32 (monatlich, relativ) festgelegt wird. frequency_relative_interval ist vom Datentyp int. Die folgenden Werte sind möglich:Wert
Beschreibung
1
Erster
2
Zweiter
4
Dritter
8
Vierter
16
Letzter
NULL (Standard)
[ @frequency_recurrence_factor=] frequency_recurrence_factor
Der von frequency_type verwendete Wiederholungsfaktor. frequency_recurrence_factor ist vom Datentyp int und hat den Standardwert NULL.[ @frequency_subday=] frequency_subday
Die Häufigkeit der erneuten Planung während des definierten Zeitraumes. frequency_subday ist vom Datentyp int. Die folgenden Werte sind möglich:Wert
Beschreibung
1
Einmal
2
Sekunde
4
Minute
8
Stunde
NULL (Standard)
[ @frequency_subday_interval=] frequency_subday_interval
Das Intervall für frequency_subday. frequency_subday_interval ist vom Datentyp int und hat den Standardwert NULL.[ @active_start_time_of_day=] active_start_time_of_day
Die Tageszeit, zu der der Merge-Agent zum ersten Mal geplant ist. Dabei wird das Format HHMMSS verwendet. active_start_time_of_day ist vom Datentyp int und hat den Standardwert NULL.[ @active_end_time_of_day=] active_end_time_of_day
Die Tageszeit, ab der der Merge-Agent nicht mehr geplant ist. Dabei wird das Format HHMMSS verwendet. active_end_time_of_day ist vom Datentyp int und hat den Standardwert NULL.[ @active_start_date = ] active_start_date
Das Datum, an dem der Merge-Agent zum ersten Mal geplant ist. Dabei wird das Format YYYYMMDD verwendet. active_start_date ist vom Datentyp int und hat den Standardwert NULL.[ @active_end_date = ] active_end_date
Das Datum, ab dem der Merge-Agent nicht mehr geplant ist. Dabei wird das Format YYYYMMDD verwendet. active_end_date ist vom Datentyp int und hat den Standardwert NULL.[ @optional_command_line=] 'optional_command_line'
Eine optionale Eingabeaufforderung für den Merge-Agent. optional_command_line ist vom Datentyp nvarchar(255) und hat den Standardwert ' '. Kann zur Bereitstellung zusätzlicher Parameter für den Merge-Agent verwendet werden, wie im folgenden Beispiel gezeigt wird, bei dem das Standardtimeout für Abfragen auf 600 Sekunden erhöht wird:@optional_command_line = N'-QueryTimeOut 600'
[ @merge_jobid = ] merge_jobid
Der Ausgabeparameter für die Auftrags-ID. merge_jobid ist vom Datentyp binary(16) und hat den Standardwert NULL.[ @enabled_for_syncmgr=] 'enabled_for_syncmgr'
Gibt an, ob das Abonnement mit der Synchronisierungsverwaltung von Windows synchronisiert werden kann. enabled_for_syncmgr ist vom Datentyp nvarchar(5) und hat den Standardwert FALSE. Bei false wird das Abonnement nicht bei der Synchronisierungsverwaltung registriert. Bei true wird das Abonnement bei der Synchronisierungsverwaltung registriert und kann synchronisiert werden, ohne SQL Server Management Studio zu starten.[ @ftp_address = ] 'ftp_address'
Nur aus Gründen der Abwärtskompatibilität beibehalten.[ @ftp_port= ] ftp_port
Nur aus Gründen der Abwärtskompatibilität beibehalten.[ @ftp_login = ] 'ftp_login'
Nur aus Gründen der Abwärtskompatibilität beibehalten.[ @ftp_password = ] 'ftp_password'
Nur aus Gründen der Abwärtskompatibilität beibehalten.[ @alt_snapshot_folder= ] 'alternate_snapshot_folder'
Gibt den Speicherort zum Abholen der Snapshotdateien an. alternate_snapshot_folder ist vom Datentyp nvarchar(255) und hat den Standardwert NULL. Wenn dieser Wert NULL ist, werden die Snapshotdateien aus dem vom Verleger angegebenen Standardspeicherort abgeholt.[ @working_directory = ] 'working_directory'
Der Name des zum temporären Speichern von Daten- und Schemadateien für die Veröffentlichung verwendeten Arbeitsverzeichnisses, wenn zum Übertragen der Snapshotdateien FTP verwendet wird. working_directory ist vom Datentyp nvarchar(255) und hat den Standardwert NULL.[ @use_ftp = ] 'use_ftp'
Gibt an, dass FTP anstelle des normalen Protokolls zum Abrufen von Snapshots verwendet wird. use_ftp ist vom Datentyp nvarchar(5) und hat den Standardwert FALSE.[ @reserved=] 'reserved'
Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.[ @use_interactive_resolver = ] 'use_interactive_resolver' ]
Verwendet den interaktiven Konfliktlöser zum Lösen von Konflikten für alle Artikel, die eine interaktive Lösung zulassen. use_interactive_resolver ist vom Datentyp nvarchar(5) und hat den Standardwert FALSE.[ @offloadagent= ] 'remote_agent_activation'
Hinweis Die Aktivierung des Remote-Agents wurde als veraltet markiert und wird nicht mehr unterstützt. Dieser Parameter wird nur zur Aufrechterhaltung der Abwärtskompatibilität von Skripts unterstützt. Beim Festlegen von remote_agent_activation auf einen anderen Wert als false wird ein Fehler generiert.
[ @offloadserver= ] 'remote_agent_server_name'
Hinweis Die Aktivierung des Remote-Agents wurde als veraltet markiert und wird nicht mehr unterstützt. Dieser Parameter wird nur zur Aufrechterhaltung der Abwärtskompatibilität von Skripts unterstützt. Beim Festlegen von remote_agent_server_name auf einen Wert ungleich NULL wird ein Fehler generiert.
[ @job_name= ] 'job_name' ]
Der Name eines vorhandenen Agentauftrags. job_name ist vom Datentyp sysname und hat den Standardwert NULL. Dieser Parameter wird nur angegeben, wenn das Abonnement mithilfe eines vorhandenen Auftrags anstelle eines neu erstellten Auftrags (Standard) synchronisiert wird. Wenn Sie kein Mitglied der festen Serverrolle sysadmin sind, müssen Sie job_login und job_password angeben, wenn Sie job_name angeben.[ @dynamic_snapshot_location = ] 'dynamic_snapshot_location' ]
Der Pfad zu dem Ordner, aus dem bei Verwendung eines gefilterten Datensnapshots die Snapshotdateien gelesen werden. dynamic_snapshot_location ist vom Datentyp nvarchar(260) und hat den Standardwert NULL. Weitere Informationen finden Sie unter Parametrisierte Zeilenfilter.[ @use_web_sync = ] use_web_sync
Zeigt an, dass die Websynchronisierung aktiviert ist. use_web_sync ist vom Datentyp bit und hat den Standardwert 0. Der Wert 1 gibt an, dass das Pullabonnement mithilfe von HTTP über das Internet synchronisiert werden kann.[ @internet_url = ] 'internet_url'
Der Speicherort der Replikationsüberwachung (REPLISAPI.DLL) zur Websynchronisierung. internet_url ist vom Datentyp nvarchar(260) und hat den Standardwert NULL. internet_url ist eine vollqualifizierte URL mit dem Format http://server.domain.com/directory/replisapi.dll. Wenn der Server so konfiguriert ist, dass er einen anderen Port als Port 80 überwacht, muss auch die Portnummer im Format http://server.domain.com:portnumber/directory/replisapi.dll angegeben werden, wobei portnumber den Port darstellt.[ @internet_login = ] 'internet_login'
Der vom Merge-Agent verwendete Anmeldename für die Herstellung einer Verbindung mit dem Webserver, der die Websynchronisierung hostet. Die Verbindung erfolgt über die HTTP-Standardauthentifizierung. internet_login ist vom Datentyp sysname und hat den Standardwert NULL.[ @internet_password = ] 'internet_password'
Das vom Merge-Agent verwendete Kennwort für die Herstellung einer Verbindung mit dem Webserver, der die Websynchronisierung hostet. Die Verbindung erfolgt über die HTTP-Standardauthentifizierung. internet_password ist vom Datentyp nvarchar(524) und hat den Standardwert NULL.Sicherheitshinweis Verwenden Sie kein leeres Kennwort. Verwenden Sie ein sicheres Kennwort.
[ @internet_security_mode = ] internet_security_mode
Die Authentifizierungsmethode, die der Merge-Agent während der Websynchronisierung über HTTPS für die Herstellung einer Verbindung mit dem Webserver verwendet. internet_security_mode ist vom Datentyp int. Die folgenden Werte sind möglich:Wert
Beschreibung
0
Die Standardauthentifizierung wird verwendet.
1 (Standardwert)
Die integrierte Windows-Authentifizierung wird verwendet.
Hinweis Es wird empfohlen, für die Websynchronisierung die Standardauthentifzierung zu verwenden. Für die Websynchronisierung müssen Sie eine SSL-Verbindung mit dem Webserver herstellen. Weitere Informationen finden Sie unter Konfigurieren der Websynchronisierung.
[ @internet_timeout = ] internet_timeout
Der Zeitraum in Sekunden, bevor eine Anforderung zur Websynchronisierung abläuft. internet_timeout ist vom Datentyp int und hat den Standardwert 300 Sekunden.[ @hostname = ] 'hostname'
Setzt den Wert von HOST_NAME() außer Kraft, wenn diese Funktion in der WHERE-Klausel eines parametrisierten Filters verwendet wird. hostname ist vom Datentyp sysname und hat den Standardwert NULL.[ @job_login = ] 'job_login'
Der Anmeldename für das Windows-Konto, unter dem der Agent ausgeführt wird. job_login ist vom Datentyp nvarchar(257) und hat keinen Standardwert. Für Agentverbindungen mit dem Abonnenten sowie für Verbindungen mit dem Verteiler und Verleger über die integrierte Windows-Authentifizierung wird stets dieses Windows-Konto verwendet.[ @job_password = ] 'job_password'
Das Kennwort für das Windows-Konto, unter dem der Agent ausgeführt wird. job_password ist vom Datentyp sysname und hat keinen Standardwert.Sicherheitshinweis Speichern Sie keine Authentifizierungsinformationen in Skriptdateien. Anmeldenamen und Kennwörter sollten stets zur Laufzeit bereitgestellt werden, um einen höchstmöglichen Grad an Sicherheit zu bieten.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
sp_addmergepullsubscription_agent wird bei der Mergereplikation verwendet und arbeitet mit ähnlichen Funktionen wie sp_addpullsubscription_agent.
Das Sicherheitsmodell des Replikations-Agents hat sich gegenüber SQL Server 2000 erheblich geändert. Ein Beispiel für das richtige Angeben von Sicherheitseinstellungen beim Ausführen von sp_addmergepullsubscription_agent finden Sie unter Vorgehensweise: Erstellen eines Pullabonnements (Replikationsprogrammierung mit Transact-SQL).
Beispiel
-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables
-- on the command line and in SQL Server Management Studio, see the
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
-- Execute this batch at the Subscriber.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB AS sysname;
DECLARE @hostname AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks';
SET @hostname = N'adventure-works\david8';
-- At the subscription database, create a pull subscription
-- to a merge publication.
USE [AdventureWorksReplica]
EXEC sp_addmergepullsubscription
@publisher = @publisher,
@publication = @publication,
@publisher_db = @publicationDB;
-- Add an agent job to synchronize the pull subscription.
EXEC sp_addmergepullsubscription_agent
@publisher = @publisher,
@publisher_db = @publicationDB,
@publication = @publication,
@distributor = @publisher,
@job_login = $(Login),
@job_password = $(Password),
@hostname = @hostname;
GO
Berechtigungen
Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_addmergepullsubscription_agent ausführen.
Siehe auch