sp_addmergepushsubscription_agent (Transact-SQL)sp_addmergepushsubscription_agent (Transact-SQL)

Gilt für: JaSQL Server JaAzure SQL-Datenbank (nur verwaltete Instanz) NeinAzure Synapse Analytics (SQL DW) NeinParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Fügt einer Mergeveröffentlichung einen neuen Agentauftrag hinzu, mit dem die Synchronisierung eines Pushabonnements geplant wird.Adds a new agent job used to schedule synchronization of a push subscription to a merge publication. Diese gespeicherte Prozedur wird auf dem Verleger für die Veröffentlichungs Datenbank ausgeführt.This stored procedure is executed at the Publisher on the publication database.

Wichtig

Beim Konfigurieren eines Verlegers mit einem Remoteverteiler werden die Werte, die für alle Parameter, einschließlich job_login und job_password, bereitgestellt werden, als Nur-Text an den Verteiler gesendet.When configuring a Publisher with a remote Distributor, the values supplied for all parameters, including job_login and job_password, are sent to the Distributor as plain text. Sie sollten die Verbindung zwischen dem Verleger und dem zugehörigen Remoteverteiler verschlüsseln, bevor Sie diese gespeicherte Prozedur ausführen.You should encrypt the connection between the Publisher and its remote Distributor before executing this stored procedure. Weitere Informationen finden Sie unter Aktivieren von verschlüsselten Verbindungen zur Datenbank-Engine (SQL Server-Konfigurations-Manager).For more information, see Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager).

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

  
sp_addmergepushsubscription_agent [ @publication =] 'publication'   
    [ , [ @subscriber = ] 'subscriber' ]   
    [ , [ @subscriber_db = ] 'subscriber_db' ]   
    [ , [ @subscriber_security_mode = ] subscriber_security_mode ]   
    [ , [ @subscriber_login = ] 'subscriber_login' ]   
    [ , [ @subscriber_password = ] 'subscriber_password' ]   
    [ , [ @publisher_security_mode = ] publisher_security_mode ]   
    [ , [ @publisher_login = ] 'publisher_login' ]   
    [ , [ @publisher_password = ] 'publisher_password' ]   
    [ , [ @job_login = ] 'job_login' ]   
    [ , [ @job_password = ] 'job_password' ]   
    [ , [ @job_name = ] 'job_name' ]   
    [ , [ @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 ]   
    [ , [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' ]   

ArgumenteArguments

[ @publication = ] 'publication'Der Name der Veröffentlichung.[ @publication = ] 'publication' Is the name of the publication. Publication ist vom Datentyp vom Datentyp sysnameund hat keinen Standardwert.publication is sysname, with no default.

[ @subscriber = ] 'subscriber'Der Name des Abonnenten.[ @subscriber = ] 'subscriber' Is the name of the Subscriber. Subscriber ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.subscriber is sysname, with a default of NULL.

[ @subscriber_db = ] 'subscriber_db'Der Name der Abonnement Datenbank.[ @subscriber_db = ] 'subscriber_db' Is the name of the subscription database. subscriber_db ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.subscriber_db is sysname, with a default of NULL.

[ @subscriber_security_mode = ] subscriber_security_modeDer Sicherheitsmodus, der beim Synchronisieren zum Herstellen einer Verbindung mit einem Abonnenten verwendet wird.[ @subscriber_security_mode = ] subscriber_security_mode Is the security mode to use when connecting to a Subscriber when synchronizing. subscriber_security_mode ist vom Datentyp intund hat den Standardwert 1.subscriber_security_mode is int, with a default of 1. Bei 0wird die SQL ServerSQL Server -Authentifizierung angegeben.If 0, specifies SQL ServerSQL Server Authentication. Wenn der 1ist, wird die Windows-Authentifizierung angegeben.If 1, specifies Windows Authentication.

[ @subscriber_login = ] 'subscriber_login'Der Anmelde Name des Abonnenten, der beim Synchronisieren zum Herstellen einer Verbindung mit einem Abonnenten verwendet wird.[ @subscriber_login = ] 'subscriber_login' Is the Subscriber login to use when connecting to a Subscriber when synchronizing. subscriber_login ist erforderlich, wenn subscriber_security_mode auf 0festgelegt ist.subscriber_login is required if subscriber_security_mode is set to 0. subscriber_login ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.subscriber_login is sysname, with a default of NULL.

[ @subscriber_password = ] 'subscriber_password'Das Kennwort des Abonnenten SQL ServerSQL Server für die Authentifizierung.[ @subscriber_password = ] 'subscriber_password' Is the Subscriber password for SQL ServerSQL Server Authentication. subscriber_password ist erforderlich, wenn subscriber_security_mode auf 0festgelegt ist.subscriber_password is required if subscriber_security_mode is set to 0. subscriber_password ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.subscriber_password is sysname, with a default of NULL. Bei Verwendung eines Abonnentenkennworts wird dieses automatisch verschlüsselt.If a subscriber password is used, it is automatically encrypted.

Wichtig

Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Anmeldeinformationen zur Laufzeit anzugeben.When possible, prompt users to enter security credentials at runtime. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, muss die Datei an einem sicheren Ort gespeichert werden, um unberechtigten Zugriff zu vermeiden.If you must store credentials in a script file, you must secure the file to prevent unauthorized access.

[ @publisher_security_mode = ] publisher_security_modeDer Sicherheitsmodus, der beim Synchronisieren zum Herstellen einer Verbindung mit einem Verleger verwendet wird.[ @publisher_security_mode = ] publisher_security_mode Is the security mode to use when connecting to a Publisher when synchronizing. publisher_security_mode ist vom Datentyp intund hat den Standardwert 1.publisher_security_mode is int, with a default of 1. Bei 0wird die SQL ServerSQL Server -Authentifizierung angegeben.If 0, specifies SQL ServerSQL Server Authentication. Wenn der 1ist, wird die Windows-Authentifizierung angegeben.If 1, specifies Windows Authentication.

[ @publisher_login = ] 'publisher_login'Der Anmelde Name, der beim Synchronisieren zum Herstellen einer Verbindung mit einem Verleger verwendet wird.[ @publisher_login = ] 'publisher_login' Is the login to use when connecting to a Publisher when synchronizing. publisher_login ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.publisher_login is sysname, with a default of NULL.

[ @publisher_password = ] 'publisher_password'Das Kennwort, das beim Herstellen einer Verbindung mit dem Verleger verwendet wird.[ @publisher_password = ] 'publisher_password' Is the password used when connecting to the Publisher. publisher_password ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.publisher_password is sysname, with a default of NULL.

Wichtig

Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Anmeldeinformationen zur Laufzeit anzugeben.When possible, prompt users to enter security credentials at runtime. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, muss die Datei an einem sicheren Ort gespeichert werden, um unberechtigten Zugriff zu vermeiden.If you must store credentials in a script file, you must secure the file to prevent unauthorized access.

[ @job_login = ] 'job_login'Der Anmelde Name für das Windows-Konto, unter dem der Agent ausgeführt wird.[ @job_login = ] 'job_login' Is the login for the Windows account under which the agent runs. job_login ist vom Datentyp nvarchar (257) und hat den Standardwert NULL.job_login is nvarchar(257), with a default value of NULL. Dieses Windows-Konto wird immer für Agentverbindungen mit dem Verteiler und für Verbindungen mit dem Abonnenten und Verleger verwendet, wenn die integrierte Windows-Authentifizierung verwendet wird.This Windows account is always used for agent connections to the Distributor and for connections to the Subscriber and Publisher when using Windows Integrated authentication.

[ @job_password = ] 'job_password'Das Kennwort für das Windows-Konto, unter dem der Agent ausgeführt wird.[ @job_password = ] 'job_password' Is the password for the Windows account under which the agent runs. job_password ist vom Datentyp vom Datentyp sysnameund hat keinen Standardwert.job_password is sysname, with no default.

Wichtig

Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Anmeldeinformationen zur Laufzeit anzugeben.When possible, prompt users to enter security credentials at runtime. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, muss die Datei an einem sicheren Ort gespeichert werden, um unberechtigten Zugriff zu vermeiden.If you must store credentials in a script file, you must secure the file to prevent unauthorized access.

[ @job_name = ] 'job_name'Der Name eines vorhandenen Agentauftrags.[ @job_name = ] 'job_name' Is the name of an existing agent job. job_name ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.job_name is sysname, with a default value of NULL. Dieser Parameter wird nur angegeben, wenn das Abonnement nicht mit einem neu erstellten Auftrag (Standard), sondern mit einem vorhandenen Auftrag synchronisiert wird.This parameter is only specified when the subscription is synchronized using an existing job instead of a newly created job (the default). Wenn Sie kein Mitglied der festen Server Rolle sysadmin sind, müssen Sie job_login und job_password angeben, wenn Sie job_nameangeben.If you are not a member of the sysadmin fixed server role, you must specify job_login and job_password when you specify job_name.

[ @frequency_type = ] frequency_typeDie Häufigkeit, mit der die Merge-Agent geplant werden soll.[ @frequency_type = ] frequency_type Is the frequency with which to schedule the Merge Agent. frequency_type ist vom Datentyp intund kann einen der folgenden Werte aufweisen.frequency_type is int, and can be one of the following values.

WertValue DescriptionDescription
11 EinmalOne time
22 BedarfsgesteuertOn demand
44 TäglichDaily
88 Wöchentlicher ZeitplanWeekly
1616 Monatlicher ZeitplanMonthly
3232 Monatlich, relativMonthly relative
6464 AutostartAutostart
128128 WiederholtRecurring
NULL (Standard)NULL (default)

Hinweis

Das Angeben des Werts 64 bewirkt, dass die Merge-Agent im kontinuierlichen Modus ausgeführt wird.Specifying a value of 64 causes the Merge Agent to run in continuous mode. Dies entspricht dem Festlegen des -Continuous- Parameters für den Agent.This corresponds to setting the -Continuous parameter for the agent. Weitere Informationen finden Sie unter Replication Merge Agent.For more information, see Replication Merge Agent.

[ @frequency_interval = ] frequency_intervalDie Tage, an denen die Merge-Agent ausgeführt wird.[ @frequency_interval = ] frequency_interval The days that the Merge Agent runs. frequency_interval ist vom Datentyp intund kann einen der folgenden Werte aufweisen.frequency_interval is int, and can be one of the following values.

WertValue DescriptionDescription
11 SonntagSunday
22 MontagMonday
33 DienstagTuesday
44 MittwochWednesday
55 DonnerstagThursday
66 FreitagFriday
77 SamstagSaturday
88 DayDay
99 TageWeekdays
1010 WochenendtageWeekend days
NULL (Standard)NULL (default)

[ @frequency_relative_interval = ] frequency_relative_intervalDas Datum der Merge-Agent.[ @frequency_relative_interval = ] frequency_relative_interval Is the date of the Merge Agent. Dieser Parameter wird verwendet, wenn frequency_type auf 32 (monatlich, relativ) festgelegt ist.This parameter is used when frequency_type is set to 32 (monthly relative). frequency_relative_interval ist vom Datentyp intund kann einen der folgenden Werte aufweisen.frequency_relative_interval is int, and can be one of the following values.

WertValue DescriptionDescription
11 ErsterFirst
22 ZweimalSecond
44 DritterThird
88 VierterFourth
1616 LetzterLast
NULL (Standard)NULL (default)

[ @frequency_recurrence_factor = ] frequency_recurrence_factorDer von frequency_typeverwendete Wiederholungs Faktor.[ @frequency_recurrence_factor = ] frequency_recurrence_factor Is the recurrence factor used by frequency_type. frequency_recurrence_factor ist vom Datentyp intund hat den Standardwert NULL.frequency_recurrence_factor is int, with a default of NULL.

[ @frequency_subday = ] frequency_subdayGibt an, wie oft innerhalb des definierten Zeitraums neu geplant werden soll.[ @frequency_subday = ] frequency_subday Is how often to reschedule during the defined period. frequency_subday ist vom Datentyp intund kann einen der folgenden Werte aufweisen.frequency_subday is int, and can be one of the following values.

WertValue DescriptionDescription
11 EinmalOnce
22 ZweimalSecond
44 MinuteMinute
88 HourHour
NULL (Standard)NULL (default)

[ @frequency_subday_interval = ] frequency_subday_intervalDas Intervall für frequency_subday.[ @frequency_subday_interval = ] frequency_subday_interval Is the interval for frequency_subday. frequency_subday_interval ist vom Datentyp intund hat den Standardwert NULL.frequency_subday_interval is int, with a default of NULL.

[ @active_start_time_of_day = ] active_start_time_of_dayDie Tageszeit, zu der die Merge-Agent zum ersten Mal geplant ist. dabei wird das Format HHMMSS verwendet.[ @active_start_time_of_day = ] active_start_time_of_day Is the time of day when the Merge Agent is first scheduled, formatted as HHMMSS. active_start_time_of_day ist vom Datentyp intund hat den Standardwert NULL.active_start_time_of_day is int, with a default of NULL.

[ @active_end_time_of_day = ] active_end_time_of_dayDie Tageszeit, zu der die Merge-Agent nicht mehr geplant ist. dabei wird das Format HHMMSS verwendet.[ @active_end_time_of_day = ] active_end_time_of_day Is the time of day when the Merge Agent stops being scheduled, formatted as HHMMSS. active_end_time_of_day ist vom Datentyp intund hat den Standardwert NULL.active_end_time_of_day is int, with a default of NULL.

[ @active_start_date = ] active_start_dateDas Datum, an dem die Merge-Agent zum ersten Mal geplant ist, formatiert als YYYYMMDD.[ @active_start_date = ] active_start_date Is the date when the Merge Agent is first scheduled, formatted as YYYYMMDD. active_start_date ist vom Datentyp intund hat den Standardwert NULL.active_start_date is int, with a default of NULL.

[ @active_end_date = ] active_end_dateDas Datum, an dem der Merge-Agent nicht mehr geplant ist, formatiert als YYYYMMDD.[ @active_end_date = ] active_end_date Is the date when the Merge Agent stops being scheduled, formatted as YYYYMMDD. active_end_date ist vom Datentyp intund hat den Standardwert NULL.active_end_date is int, with a default of NULL.

[ @enabled_for_syncmgr = ] 'enabled_for_syncmgr'Gibt an, ob das Abonnement über die Synchronisierungs Verwaltung von Windows synchronisiert werden kann.[ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' Specifies if the subscription can be synchronized through Windows Synchronization Manager. enabled_for_syncmgr ist vom Datentyp nvarchar (5) und hat den Standardwert false.enabled_for_syncmgr is nvarchar(5), with a default of FALSE. Wenn der Wert falseist, wird das Abonnement nicht bei der Synchronisierungs Verwaltung registriert.If false, the subscription is not registered with Synchronization Manager. Wenn der Wert trueist, wird das Abonnement bei der Synchronisierungs Verwaltung registriert und SQL Server Management StudioSQL Server Management Studiokann synchronisiert werden, ohne zu starten.If true, the subscription is registered with Synchronization Manager and can be synchronized without starting SQL Server Management StudioSQL Server Management Studio.

RückgabecodewerteReturn Code Values

0 (Erfolg) oder 1 (Fehler)0 (success) or 1 (failure)

HinweiseRemarks

sp_addmergepushsubscription_agent wird bei der Mergereplikation verwendet und verwendet ähnliche Funktionen wie sp_addpushsubscription_agent.sp_addmergepushsubscription_agent is used in merge replication and uses functionality similar to sp_addpushsubscription_agent.

BeispielExample

-- 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".

DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
DECLARE @hostname AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorksReplica'; 
SET @hostname = N'adventure-works\david8'

-- Add a push subscription to a merge publication.
USE [AdventureWorks2012];
EXEC sp_addmergesubscription 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @subscription_type = N'push',
  @hostname = @hostname;

--Add an agent job to synchronize the push subscription.
EXEC sp_addmergepushsubscription_agent 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @job_login = $(Login), 
  @job_password = $(Password);
GO

BerechtigungenPermissions

Nur Mitglieder der festen Server Rolle sysadmin oder der festen Daten Bank Rolle db_owner können sp_addmergepushsubscription_agentausführen.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_addmergepushsubscription_agent.

Siehe auchSee Also

Create a Push Subscription Create a Push Subscription
Abonnieren von Veröffentlichungen Subscribe to Publications
sp_addmergesubscription (Transact-SQL) sp_addmergesubscription (Transact-SQL)
sp_changemergesubscription (Transact-SQL) sp_changemergesubscription (Transact-SQL)
sp_dropmergesubscription (Transact-SQL) sp_dropmergesubscription (Transact-SQL)
sp_helpmergesubscription (Transact-SQL)sp_helpmergesubscription (Transact-SQL)