Angeben von SynchronisierungszeitplänenSpecify Synchronization Schedules

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

In diesem Thema wird beschrieben, wie Synchronisierungszeitpläne in SQL ServerSQL Server mit SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLoder Replikationsverwaltungsobjekten (RMO) angegeben werden.This topic describes how to specify synchronization schedules in SQL ServerSQL Server by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or Replication Management Objects (RMO). Während der Erstellung eines Abonnements kann ein Synchronisierungszeitplan definiert werden, der steuert, wann der Replikations-Agent für das Abonnement ausgeführt wird.When you create a subscription, you can define a synchronization schedule that controls when the replication agent for the subscription will run. Wenn Sie keine Zeitplanungsparameter angeben, wird der Standardzeitplan für das Abonnement verwendet.If you do not specify scheduling parameters, the subscription will use the default schedule.

Abonnements werden durch den Verteilungs-Agent (für Momentaufnahme- und Transaktionsveröffentlichungen) oder durch den Merge-Agent (für Mergeveröffentlichungen) synchronisiert.Subscriptions are synchronized by the Distribution Agent (for snapshot and transactional replication) or the Merge Agent (for merge replication). Agents können kontinuierlich, bei Bedarf oder nach einem Zeitplan ausgeführt werden.Agents can run continuously, run on demand, or run on a schedule.

In diesem ThemaIn This Topic

Verwenden von SQL Server Management StudioUsing SQL Server Management Studio

Geben Sie Synchronisierungszeitpläne im Assistenten für neue Abonnements auf der Seite Synchronisierungszeitplan an.Specify synchronization schedules on the Synchronization Schedule page of the New Subscription Wizard. Weitere Informationen zum Zugreifen auf diesen Assistenten finden Sie unter Create a Push Subscription und Create a Pull Subscription.For more information about accessing this wizard, see Create a Push Subscription and Create a Pull Subscription.

Ändern Sie die Synchronisierungszeitpläne im Dialogfeld Eigenschaften des Auftragszeitplans . Dieses Dialogfeld ist in über den Ordner Aufträge SQL Server Management StudioSQL Server Management Studio und im Detailfenster des Agents im Replikationsmonitor verfügbar.Modify synchronization schedules in the Job Schedule Properties dialog box, which is available from the Jobs folder in SQL Server Management StudioSQL Server Management Studio and from the agent details windows in Replication Monitor. Informationen zum Starten des Replikationsmonitors finden Sie unter Starten des Replikationsmonitors.For information about starting Replication Monitor, see Start the Replication Monitor.

Wenn Sie die Zeitpläne über den Ordner Aufträge angeben, verwenden Sie die folgende Tabelle, um den Auftragsnamen des Agents zu ermitteln.If you specify schedules from the Jobs folder, use the following table to determine the agent job name.

AgentAgent AuftragsnameJob name
Merge-Agent für PullabonnementsMerge Agent for pull subscriptions <Verleger>-<Veröffentlichungsdatenbank>-<Veröffentlichung>-<Abonnent>-<Abonnementdatenbank>-<Ganzzahl><Publisher>-<PublicationDatabase>-<Publication>-<Subscriber>-<SubscriptionDatabase>-<integer>
Merge-Agent für PushabonnementsMerge Agent for push subscriptions <Verleger>-<Veröffentlichungsdatenbank>-<Veröffentlichung>-<Abonnent>-<Ganzzahl><Publisher>-<PublicationDatabase>-<Publication>-<Subscriber>-<integer>
Verteilungs-Agent für PushabonnementsDistribution Agent for push subscriptions <Verleger>-<Veröffentlichungsdatenbank>-<Veröffentlichung>-<Abonnent>-<Integer> 1<Publisher>-<PublicationDatabase>-<Publication>-<Subscriber>-<integer> 1
Verteilungs-Agent für PullabonnementsDistribution Agent for pull subscriptions <Verleger>-<Veröffentlichungsdatenbank>-<Veröffentlichung>-<Abonnent>-<Abonnementdatenbank>-<GUID> 2<Publisher>-<PublicationDatabase>-<Publication>-<Subscriber>-<SubscriptionDatabase>-<GUID> 2
Verteilungs-Agent für Pushabonnements für Nicht-SQL Server-AbonnentenDistribution Agent for push subscriptions to non-SQL Server Subscribers <Verleger>-<Veröffentlichungsdatenbank>-<Veröffentlichung>-<Abonnent>-<Ganzzahl><Publisher>-<PublicationDatabase>-<Publication>-<Subscriber>-<integer>

1 Bei Pushabonnements für Oracle-Veröffentlichungen heißt es <Verleger>-<Verleger> anstatt <Verleger>-<Veröffentlichungsdatenbank> .1 For push subscriptions to Oracle publications, it is <Publisher>-<Publisher> rather than <Publisher>-<PublicationDatabase>

2 Bei Pullabonnements für Oracle-Veröffentlichungen heißt es <Verleger>-<Verteilungsdatenbank> anstatt <Verleger>-<Veröffentlichungsdatenbank> .2 For pull subscriptions to Oracle publications, it is <Publisher>-<DistributionDatabase> rather than <Publisher>-<PublicationDatabase>

So geben Sie Synchronisierungszeitpläne anTo specify synchronization schedules

  1. Wählen Sie im Assistenten für neue Abonnements auf der Seite Synchronisierungszeitplan für jedes Abonnement, das Sie erstellen, einen der folgenden Werte aus der Dropdownliste Agentzeitplan aus:On the SynchronizationSchedule page of the New Subscription Wizard, select one of the following values from the Agent Schedule drop-down list for each subscription you are creating:

    • Fortlaufend ausführenRun continuously

    • Nur bedarfsgesteuert ausführenRun on demand only

    • <Zeitplan definieren…><Define Schedule...>

  2. Geben Sie bei der Auswahl von <Zeitplan definieren…> im Dialogfeld Eigenschaften des Auftragszeitplans einen Zeitplan an, und klicken Sie dann auf OK.If you select <Define Schedule...>, specify a schedule in the Job Schedule Properties dialog box, and then click OK.

  3. Schließen Sie den Assistenten ab.Complete the wizard.

So ändern Sie einen Synchronisierungszeitplan für ein Pushabonnement im ReplikationsmonitorTo modify a synchronization schedule for a push subscription in Replication Monitor

  1. Erweitern Sie im linken Bereich des Replikationsmonitors eine Verlegergruppe, erweitern Sie einen Verleger, und klicken Sie dann auf eine Veröffentlichung.Expand a Publisher group in the left pane of Replication Monitor, expand a Publisher, and then click a publication.

  2. Klicken Sie auf die Registerkarte Alle Abonnements .Click the All Subscriptions tab.

  3. Klicken Sie mit der rechten Maustaste auf ein Abonnement, und klicken Sie dann auf Details anzeigen.Right-click a subscription, and then click View Details.

  4. Klicken Sie im Fenster Abonnement auf Aktion, und klicken Sie dann auf <AgentName> Auftragseigenschaften.In the Subscription < SubscriptionName> window, click Action, and then click <AgentName> Job Properties.

  5. Klicken Sie im Dialogfeld Auftragseigenschaften - <JobName> auf der Seite Zeitpläne auf Bearbeiten.On the Schedules page of the Job Properties - <JobName> dialog box, click Edit.

  6. Wählen Sie im Dialogfeld Eigenschaften des Auftragszeitplans einen Wert aus der Dropdownliste Zeitplantyp aus:In the Job Schedule Properties dialog box, select a value from the Schedule Type drop-down list:

    • Um eine fortlaufende Ausführung des Agents anzugeben, wählen Sie Automatisch starten, wenn der SQL Server-Agent startetaus.To specify that the agent should run continuously, select Start automatically when SQL Server Agent starts.

    • Um eine Ausführung des Agents nach einem Zeitplan anzugeben, wählen Sie Wiederholtaus.To specify that the agent should run on a schedule, select Recurring.

    • Um eine bedarfsgesteuerte Ausführung des Agents anzugeben, wählen Sie Einmalaus.To specify that the agent should run on demand, select One time.

  7. Geben Sie bei der Auswahl von Wiederholteinen Zeitplan für den Agent an.If you select Recurring, specify a schedule for the agent.

  8. Klicken Sie auf OK.Click OK.

So ändern Sie einen Synchronisierungszeitplan für ein Pushabonnement in Management StudioTo modify a synchronization schedule for a push subscription in Management Studio

  1. Stellen Sie in Management StudioManagement Studioeine Verbindung mit dem Verteiler her, und erweitern Sie dann den Serverknoten.Connect to the Distributor in Management StudioManagement Studio, and then expand the server node.

  2. Erweitern Sie den Ordner SQL Server-Agent und anschließend den Ordner Aufträge .Expand the SQL Server Agent folder, and then expand the Jobs folder.

  3. Klicken Sie mit der rechten Maustaste auf den Auftrag für den Verteilungs-Agent oder Merge-Agent, der dem Abonnement zugeordnet ist, und klicken Sie dann auf Eigenschaften.Right-click the job for the Distribution Agent or Merge Agent associated with the subscription, and then click Properties.

  4. Klicken Sie im Dialogfeld Auftragseigenschaften - <JobName> auf der Seite Zeitpläne auf Bearbeiten.On the Schedules page of the Job Properties - <JobName> dialog box, click Edit.

  5. Wählen Sie im Dialogfeld Eigenschaften des Auftragszeitplans einen Wert aus der Dropdownliste Zeitplantyp aus:In the Job Schedule Properties dialog box, select a value from the Schedule Type drop-down list:

    • Um eine fortlaufende Ausführung des Agents anzugeben, wählen Sie Automatisch starten, wenn der SQL Server-Agent startetaus.To specify that the agent should run continuously, select Start automatically when SQL Server Agent starts.

    • Um eine Ausführung des Agents nach einem Zeitplan anzugeben, wählen Sie Wiederholtaus.To specify that the agent should run on a schedule, select Recurring.

    • Um eine bedarfsgesteuerte Ausführung des Agents anzugeben, wählen Sie Einmalaus.To specify that the agent should run on demand, select One time.

  6. Geben Sie bei der Auswahl von Wiederholteinen Zeitplan für den Agent an.If you select Recurring, specify a schedule for the agent.

  7. Klicken Sie auf OK.Click OK.

So ändern Sie einen Synchronisierungszeitplan für ein Pullabonnement in Management StudioTo modify a synchronization schedule for a pull subscription in Management Studio

  1. Stellen Sie in Management StudioManagement Studioeine Verbindung mit dem Abonnenten her, und erweitern Sie dann den Serverknoten.Connect to the Subscriber in Management StudioManagement Studio, and then expand the server node.

  2. Erweitern Sie den Ordner SQL Server-Agent und anschließend den Ordner Aufträge .Expand the SQL Server Agent folder, and then expand the Jobs folder.

  3. Klicken Sie mit der rechten Maustaste auf den Auftrag für den Verteilungs-Agent oder Merge-Agent, der dem Abonnement zugeordnet ist, und klicken Sie dann auf Eigenschaften.Right-click the job for the Distribution Agent or Merge Agent associated with the subscription, and then click Properties.

  4. Klicken Sie im Dialogfeld Auftragseigenschaften - <JobName> auf der Seite Zeitpläne auf Bearbeiten.On the Schedules page of the Job Properties - <JobName> dialog box, click Edit.

  5. Wählen Sie im Dialogfeld Eigenschaften des Auftragszeitplans einen Wert aus der Dropdownliste Zeitplantyp aus:In the Job Schedule Properties dialog box, select a value from the Schedule Type drop-down list:

    • Um eine fortlaufende Ausführung des Agents anzugeben, wählen Sie Automatisch starten, wenn der SQL Server-Agent startetaus.To specify that the agent should run continuously, select Start automatically when SQL Server Agent starts.

    • Um eine Ausführung des Agents nach einem Zeitplan anzugeben, wählen Sie Wiederholtaus.To specify that the agent should run on a schedule, select Recurring.

    • Um eine bedarfsgesteuerte Ausführung des Agents anzugeben, wählen Sie Einmalaus.To specify that the agent should run on demand, select One time.

  6. Geben Sie bei der Auswahl von Wiederholteinen Zeitplan für den Agent an.If you select Recurring, specify a schedule for the agent.

  7. Klicken Sie auf OK.Click OK.

Verwenden von Transact-SQLUsing Transact-SQL

Sie können Synchronisierungszeitpläne mit gespeicherten Replikationsprozeduren programmgesteuert definieren.You can define synchronization schedules programmatically using replication stored procedures. Welche gespeicherten Prozeduren Sie verwenden, hängt vom Typ der Replikation und vom Typ des Abonnements (Pull oder Push) ab.The stored procedures that you use depend on the type of replication and the type of subscription (pull or push).

Ein Zeitplan wird durch die folgenden Zeitplanungsparameter definiert, deren Verhalten von sp_add_schedule (Transact-SQL) geerbt wird:A schedule is defined by the following scheduling parameters, the behaviors of which are inherited from sp_add_schedule (Transact-SQL):

  • @frequency_type: Der Typ der Frequenz, der bei der Planung des Agents verwendet wird.@frequency_type - the type of frequency used when scheduling the agent.

  • @frequency_interval: Der Tag der Woche, an dem ein Agent ausgeführt wird.@frequency_interval - the day of the week when an agent runs.

  • @frequency_relative_interval: Die Woche eines angegebenen Monats, in der der Agent einmal monatlich ausgeführt wird.@frequency_relative_interval - the week of a given month when the agent is scheduled to run monthly.

  • @frequency_recurrence_factor: Die Anzahl der Frequenztypeinheiten, die zwischen den einzelnen Synchronisierungen liegen.@frequency_recurrence_factor - the number of frequency-type units that occur between synchronizations.

  • @requency_subday: Die Frequenzeinheit, wenn der Agent täglich mehrmals ausgeführt wird.@frequency_subday - the frequency unit when the agent runs more often than once a day.

  • @frequency_subday_interval: Die Anzahl von Frequenzeinheiten, die zwischen den einzelnen Ausführungen liegen, wenn der Agent täglich mehrmals ausgeführt wird.@frequency_subday_interval - the number of frequency units between runs when the agent runs more often than once a day.

  • @active_start_time_of_day: Die früheste Uhrzeit an einem angegebenen Tag, zu der eine Agent-Ausführung gestartet wird.@active_start_time_of_day - the earliest time in a given day when an agent run will start.

  • @active_end_time_of_day: Die späteste Uhrzeit an einem angegebenen Tag, zu der eine Agent-Ausführung gestartet wird.@active_end_time_of_day - the latest time in a given day when an agent run will start.

  • @active_start_date: Der erste Tag, an dem der Agent-Zeitplan gültig ist.@active_start_date - the first day that the agent schedule will be in effect.

  • @active_end_date: Der letzte Tag, an dem der Agent-Zeitplan gültig ist.@active_end_date - the last day that the agent schedule will be in effect.

So definieren Sie den Synchronisierungszeitplan für ein Pullabonnement für eine TransaktionsveröffentlichungTo define the synchronization schedule for a pull subscription to a transactional publication

  1. Erstellen Sie ein neues Pullabonnement für eine Transaktionsveröffentlichung.Create a new pull subscription to a transactional publication. Weitere Informationen finden Sie unter Create a Pull Subscription.For more information, see Create a Pull Subscription.

  2. Führen Sie auf dem Abonnenten sp_addpullsubscription_agent (Transact-SQL) aus.At the Subscriber, execute sp_addpullsubscription_agent (Transact-SQL). Geben Sie @publisher, @publisher_db, @publication und die MicrosoftMicrosoft Windows-Anmeldeinformationen, unter denen der Verteilungs-Agent auf dem Abonnenten ausgeführt wird, für @job_name und @job_password an.Specify @publisher, @publisher_db, @publication, and the MicrosoftMicrosoft Windows credentials under which the Distribution Agent at the Subscriber runs for @job_name and @password. Geben Sie die oben beschriebenen Synchronisierungsparameter an, mit denen der Zeitplan für den Verteilungs-Agentauftrag zur Synchronisierung des Abonnements definiert wird.Specify the synchronization parameters, detailed above, that define the schedule for the Distribution Agent job that synchronizes the subscription.

So definieren Sie den Synchronisierungszeitplan für ein Pushabonnement für eine TransaktionsveröffentlichungTo define the synchronization schedule for a push subscription to a transactional publication

  1. Erstellen Sie ein neues Pushabonnement für eine Transaktionsveröffentlichung.Create a new push subscription to a transactional publication. Weitere Informationen finden Sie unter Create a Push Subscription.For more information, see Create a Push Subscription.

  2. Führen Sie auf dem Abonnenten sp_addpushsubscription_agent (Transact-SQL) aus.At the Subscriber, execute sp_addpushsubscription_agent (Transact-SQL). Geben Sie @subscriber, @subscriber_db, @publication und die Windows-Anmeldeinformationen, unter denen der Verteilungs-Agent auf dem Abonnenten ausgeführt wird, für @job_name und @job_password an.Specify @subscriber, @subscriber_db, @publication, and the Windows credentials under which the Distribution Agent at the Subscriber runs for @job_name and @password. Geben Sie die oben beschriebenen Synchronisierungsparameter an, mit denen der Zeitplan für den Verteilungs-Agentauftrag zur Synchronisierung des Abonnements definiert wird.Specify the synchronization parameters, detailed above, that define the schedule for the Distribution Agent job that synchronizes the subscription.

So definieren Sie den Synchronisierungszeitplan für ein Pullabonnement für eine MergeveröffentlichungTo define the synchronization schedule for a pull subscription to a merge publication

  1. Erstellen Sie ein neues Pullabonnement für eine Mergeveröffentlichung.Create a new pull subscription to a merge publication. Weitere Informationen finden Sie unter Create a Pull Subscription.For more information, see Create a Pull Subscription.

  2. Führen Sie auf dem Abonnenten sp_addmergepullsubscription_agentaus.At the Subscriber, execute sp_addmergepullsubscription_agent. Geben Sie @publisher, @publisher_db, @publication und die Windows-Anmeldeinformationen, unter denen der Merge-Agent auf dem Abonnenten ausgeführt wird, für @job_name und @job_password an.Specify @publisher, @publisher_db, @publication, and the Windows credentials under which the Merge Agent at the Subscriber runs for @job_name and @password. Geben Sie die oben beschriebenen Synchronisierungsparameter an, mit denen der Zeitplan für den Merge-Agentauftrag zur Synchronisierung des Abonnements definiert wird.Specify the synchronization parameters, detailed above, that define the schedule for the Merge Agent job that synchronizes the subscription.

So definieren Sie den Synchronisierungszeitplan für ein Pushabonnement für eine MergeveröffentlichungTo define the synchronization schedule for a push subscription to a merge publication

  1. Erstellen Sie ein neues Pushabonnement für eine Mergeveröffentlichung.Create a new push subscription to a merge publication. Weitere Informationen finden Sie unter Create a Push Subscription.For more information, see Create a Push Subscription.

  2. Führen Sie auf dem Abonnenten sp_addmergepushsubscription_agentaus.At the Subscriber, execute sp_addmergepushsubscription_agent. Geben Sie @subscriber, @subscriber_db, @publication und die Windows-Anmeldeinformationen, unter denen der Merge-Agent auf dem Abonnenten ausgeführt wird, für @job_name und @job_password an.Specify @subscriber, @subscriber_db, @publication, and the Windows credentials under which the Merge Agent at the Subscriber runs for @job_name and @password. Geben Sie die oben beschriebenen Synchronisierungsparameter an, mit denen der Zeitplan für den Merge-Agentauftrag zur Synchronisierung des Abonnements definiert wird.Specify the synchronization parameters, detailed above, that define the schedule for the Merge Agent job that synchronizes the subscription.

Verwenden von Replikationsverwaltungsobjekten (RMO)Using Replication Management Objects (RMO)

Die Replikation verwendet den SQL Server-Agent, um Aufträge für regelmäßig auftretende Aktivitäten wie die Momentaufnahmegenerierung und die Abonnementsynchronisierung zu planen.Replication uses the SQL Server Agent to schedule jobs for activities that occur periodically, such as snapshot generation and subscription synchronization. Sie können Replikationsverwaltungsobjekte (RMO) programmgesteuert verwenden, um Zeitpläne für Replikations-Agentaufträge anzugeben.You can use Replication Management Objects (RMO) programmatically to specify schedules for replication agent jobs.

Hinweis

Wenn Sie ein Abonnement erstellen und den Wert false für CreateSyncAgentByDefault (das Standardverhalten für Pullabonnements) angeben, wird der Agentauftrag nicht erstellt und die Zeitplanungseigenschaften werden ignoriert.When you create a subscription and specify a value false for CreateSyncAgentByDefault (the default behavior for pull subscriptions) the agent job is not created and scheduling properties are ignored. In diesem Fall muss der Synchronisierungszeitplan von der Anwendung bestimmt werden.In this case, the synchronization schedule must be determined by the application. Weitere Informationen finden Sie unter Create a Pull Subscription und Create a Push Subscription.For more information, see Create a Pull Subscription and Create a Push Subscription.

So definieren Sie einen Zeitplan des Replikations-Agents, wenn Sie ein Pushabonnement für eine Transaktionsveröffentlichung erstellenTo define a replication agent schedule when you create a push subscription to a transactional publication

  1. Erstellen Sie eine Instanz der TransSubscription -Klasse für das Abonnement, das Sie erstellen.Create an instance of the TransSubscription class for the subscription you are creating. Weitere Informationen finden Sie unter Create a Push Subscription.For more information, see Create a Push Subscription.

  2. Bevor Sie Createaufrufen, legen Sie mindestens eines der folgenden Felder der AgentSchedule -Eigenschaft fest:Before you call Create, set one or more of the following fields of the AgentSchedule property:

    • FrequencyType – der Typ der Frequenz (z. B. täglich oder wöchentlich), den Sie beim Planen des Agents verwenden.FrequencyType - the type of frequency (such as daily or weekly) you use when you schedule the agent.

    • FrequencyInterval – der Tag der Woche, an dem ein Agent ausgeführt wird.FrequencyInterval - the day of the week that an agent runs.

    • FrequencyRelativeInterval – die Woche eines gegebenen Monats, in der der Agent einmal monatlich ausgeführt wird.FrequencyRelativeInterval - the week of a given month when the agent is scheduled to run monthly.

    • FrequencyRecurrenceFactor – die Anzahl der Einheiten für die Frequenz, die zwischen den einzelnen Synchronisierungen liegen.FrequencyRecurrenceFactor - the number of frequency-type units that occur between synchronizations.

    • FrequencySubDay – die Einheit für die Frequenz, wenn der Agent täglich mehrmals ausgeführt wird.FrequencySubDay - the frequency unit when the agent runs more often than once a day.

    • FrequencySubDayInterval – die Anzahl der Einheiten für die Frequenz, die zwischen den einzelnen Ausführungen liegen, wenn der Agent mehrmals täglich ausgeführt wird.FrequencySubDayInterval - the number of frequency units between runs when the agent runs more often than once a day.

    • ActiveStartTime – der früheste Zeitpunkt an einem bestimmten Tag, zu dem eine Agent-Ausführung gestartet wird.ActiveStartTime - earliest time on a given day that an agent run starts.

    • ActiveEndTime – der späteste Zeitpunkt an einem bestimmten Tag, zu dem eine Agent-Ausführung gestartet wird.ActiveEndTime - latest time on a given day that an agent run starts.

    • ActiveStartDate – der erste Tag, an dem der Agentzeitplan in Kraft ist.ActiveStartDate - first day that the agent schedule is in effect.

    • ActiveEndDate – der letzte Tag, an dem der Agentzeitplan in Kraft ist.ActiveEndDate - last day that the agent schedule is in effect.

    Hinweis

    Wenn Sie keine dieser Eigenschaften angeben, wird ein Standardwert festgelegt.If you do not specify one of these properties, a default value is set.

  3. Rufen Sie die Create -Methode auf, um das Abonnement zu erstellen.Call the Create method to create the subscription.

So definieren Sie einen Zeitplan des Replikations-Agents, wenn Sie ein Pullabonnement für eine Transaktionsveröffentlichung erstellenTo define a replication agent schedule when you create a pull subscription to a transactional publication

  1. Erstellen Sie eine Instanz der TransPullSubscription -Klasse für das Abonnement, das Sie erstellen.Create an instance of the TransPullSubscription class for the subscription you are creating. Weitere Informationen finden Sie unter Create a Pull Subscription.For more information, see Create a Pull Subscription.

  2. Bevor Sie Createaufrufen, legen Sie mindestens eines der folgenden Felder der AgentSchedule -Eigenschaft fest:Before you call Create, set one or more of the following fields of the AgentSchedule property:

    • FrequencyType – der Typ der Frequenz (z. B. täglich oder wöchentlich), den Sie beim Planen des Agents verwenden.FrequencyType - the type of frequency (such as daily or weekly) that you use when you schedule the agent.

    • FrequencyInterval – der Tag der Woche, an dem ein Agent ausgeführt wird.FrequencyInterval - the day of the week that an agent runs.

    • FrequencyRelativeInterval – die Woche eines bestimmten Monats, in der der Agent einmal monatlich ausgeführt wird.FrequencyRelativeInterval - the week of a given month that the agent is scheduled to run monthly.

    • FrequencyRecurrenceFactor – die Anzahl der Einheiten für die Frequenz, die zwischen den einzelnen Synchronisierungen liegen.FrequencyRecurrenceFactor - the number of frequency-type units that occur between synchronizations.

    • FrequencySubDay – die Einheit für die Frequenz, wenn der Agent täglich mehrmals ausgeführt wird.FrequencySubDay - the frequency unit when the agent runs more often than once a day.

    • FrequencySubDayInterval – die Anzahl der Einheiten für die Frequenz, die zwischen den einzelnen Ausführungen liegen, wenn der Agent mehrmals täglich ausgeführt wird.FrequencySubDayInterval - the number of frequency units between runs when the agent runs more often than once a day.

    • ActiveStartTime – der früheste Zeitpunkt an einem bestimmten Tag, zu dem eine Agent-Ausführung gestartet wird.ActiveStartTime - earliest time on a given day that an agent run starts.

    • ActiveEndTime – der späteste Zeitpunkt an einem bestimmten Tag, zu dem eine Agent-Ausführung gestartet wird.ActiveEndTime - latest time on a given day that an agent run starts.

    • ActiveStartDate – der erste Tag, an dem der Agentzeitplan in Kraft ist.ActiveStartDate - first day that the agent schedule is in effect.

    • ActiveEndDate – der letzte Tag, an dem der Agentzeitplan in Kraft ist.ActiveEndDate - last day that the agent schedule is in effect.

    Hinweis

    Wenn Sie keine dieser Eigenschaften angeben, wird ein Standardwert festgelegt.If you do not specify one of these properties, a default value is set.

  3. Rufen Sie die Create -Methode auf, um das Abonnement zu erstellen.Call the Create method to create the subscription.

So definieren Sie einen Zeitplan des Replikations-Agents, wenn Sie ein Pullabonnement für eine Mergeveröffentlichung erstellenTo define a replication agent schedule when you create a pull subscription to a merge publication

  1. Erstellen Sie eine Instanz der MergePullSubscription -Klasse für das Abonnement, das Sie erstellen.Create an instance of the MergePullSubscription class for the subscription you are creating. Weitere Informationen finden Sie unter Create a Pull Subscription.For more information, see Create a Pull Subscription.

  2. Bevor Sie Createaufrufen, legen Sie mindestens eines der folgenden Felder der AgentSchedule -Eigenschaft fest:Before you call Create, set one or more of the following fields of the AgentSchedule property:

    • FrequencyType – der Typ der Frequenz (z. B. täglich oder wöchentlich), den Sie beim Planen des Agents verwenden.FrequencyType - the type of frequency (such as daily or weekly) that you use when you schedule the agent.

    • FrequencyInterval – der Tag der Woche, an dem ein Agent ausgeführt wird.FrequencyInterval - the day of the week that an agent runs.

    • FrequencyRelativeInterval – die Woche eines bestimmten Monats, in der der Agent einmal monatlich ausgeführt wird.FrequencyRelativeInterval - the week of a given month that the agent is scheduled to run monthly.

    • FrequencyRecurrenceFactor – die Anzahl der Einheiten für die Frequenz, die zwischen den einzelnen Synchronisierungen liegen.FrequencyRecurrenceFactor - the number of frequency-type units that occur between synchronizations.

    • FrequencySubDay – die Einheit für die Frequenz, wenn der Agent täglich mehrmals ausgeführt wird.FrequencySubDay - the frequency unit when the agent runs more often than once a day.

    • FrequencySubDayInterval – die Anzahl der Einheiten für die Frequenz, die zwischen den einzelnen Ausführungen liegen, wenn der Agent mehrmals täglich ausgeführt wird.FrequencySubDayInterval - the number of frequency units between runs when the agent runs more often than once a day.

    • ActiveStartTime – der früheste Zeitpunkt an einem bestimmten Tag, zu dem eine Agent-Ausführung gestartet wird.ActiveStartTime - earliest time on a given day that an agent run starts.

    • ActiveEndTime – der späteste Zeitpunkt an einem bestimmten Tag, zu dem eine Agent-Ausführung gestartet wird.ActiveEndTime - latest time on a given day that an agent run starts.

    • ActiveStartDate – der erste Tag, an dem der Agentzeitplan in Kraft ist.ActiveStartDate - first day that the agent schedule is in effect.

    • ActiveEndDate – der letzte Tag, an dem der Agentzeitplan in Kraft ist.ActiveEndDate - last day that the agent schedule is in effect.

    Hinweis

    Wenn Sie keine dieser Eigenschaften angeben, wird ein Standardwert festgelegt.If you do not specify one of these properties, a default value is set.

  3. Rufen Sie die Create -Methode auf, um das Abonnement zu erstellen.Call the Create method to create the subscription.

So definieren Sie einen Zeitplan des Replikations-Agents, wenn Sie ein Pushabonnement für eine Mergeveröffentlichung erstellenTo define a replication agent schedule when you create a push subscription to a merge publication

  1. Erstellen Sie eine Instanz der MergeSubscription -Klasse für das Abonnement, das Sie erstellen.Create an instance of the MergeSubscription class for the subscription you are creating. Weitere Informationen finden Sie unter Create a Push Subscription.For more information, see Create a Push Subscription.

  2. Bevor Sie Createaufrufen, legen Sie mindestens eines der folgenden Felder der AgentSchedule -Eigenschaft fest:Before you call Create, set one or more of the following fields of the AgentSchedule property:

    • FrequencyType – der Typ der Frequenz (z. B. täglich oder wöchentlich), den Sie beim Planen des Agents verwenden.FrequencyType - the type of frequency (such as daily or weekly) that you use when you schedule the agent.

    • FrequencyInterval – der Tag der Woche, an dem ein Agent ausgeführt wird.FrequencyInterval - the day of the week that an agent runs.

    • FrequencyRelativeInterval – die Woche eines bestimmten Monats, in der der Agent einmal monatlich ausgeführt wird.FrequencyRelativeInterval - the week of a given month that the agent is scheduled to run monthly.

    • FrequencyRecurrenceFactor – die Anzahl der Einheiten für die Frequenz, die zwischen den einzelnen Synchronisierungen liegen.FrequencyRecurrenceFactor - the number of frequency-type units that occur between synchronizations.

    • FrequencySubDay – die Einheit für die Frequenz, wenn der Agent täglich mehrmals ausgeführt wird.FrequencySubDay - the frequency unit when the agent runs more often than once a day.

    • FrequencySubDayInterval – die Anzahl der Einheiten für die Frequenz, die zwischen den einzelnen Ausführungen liegen, wenn der Agent mehrmals täglich ausgeführt wird.FrequencySubDayInterval - the number of frequency units between runs when the agent runs more often than once a day.

    • ActiveStartTime – der früheste Zeitpunkt an einem bestimmten Tag, zu dem eine Agent-Ausführung gestartet wird.ActiveStartTime - earliest time on a given day that an agent run starts.

    • ActiveEndTime – der späteste Zeitpunkt an einem bestimmten Tag, zu dem eine Agent-Ausführung gestartet wird.ActiveEndTime - latest time on a given day that an agent run starts.

    • ActiveStartDate – der erste Tag, an dem der Agentzeitplan in Kraft ist.ActiveStartDate - first day that the agent schedule is in effect.

    • ActiveEndDate – der letzte Tag, an dem der Agentzeitplan in Kraft ist.ActiveEndDate - last day that the agent schedule is in effect.

    Hinweis

    Wenn Sie keine dieser Eigenschaften angeben, wird ein Standardwert festgelegt.If you do not specify one of these properties, a default value is set.

  3. Rufen Sie die Create -Methode auf, um das Abonnement zu erstellen.Call the Create method to create the subscription.

Beispiel (RMO)Example (RMO)

In diesem Beispiel werden ein Pushabonnement für eine Mergeveröffentlichung erstellt und der Zeitplan angegeben, mit dem das Abonnement synchronisiert wird.This example creates a push subscription to a merge publication and specifies the schedule on which the subscription is synchronized.

// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksSalesOrdersMerge";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
string hostname = @"adventure-works\garrett1";

//Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);

// Create the objects that we need.
MergePublication publication;
MergeSubscription subscription;

try
{
    // Connect to the Publisher.
    conn.Connect();

    // Ensure that the publication exists and that 
    // it supports push subscriptions.
    publication = new MergePublication();
    publication.Name = publicationName;
    publication.DatabaseName = publicationDbName;
    publication.ConnectionContext = conn;

    if (publication.IsExistingObject)
    {
        if ((publication.Attributes & PublicationAttributes.AllowPush) == 0)
        {
            publication.Attributes |= PublicationAttributes.AllowPush;
        }

        // Define the push subscription.
        subscription = new MergeSubscription();
        subscription.ConnectionContext = conn;
        subscription.SubscriberName = subscriberName;
        subscription.PublicationName = publicationName;
        subscription.DatabaseName = publicationDbName;
        subscription.SubscriptionDBName = subscriptionDbName;
        subscription.HostName = hostname;

        // Set a schedule to synchronize the subscription every 2 hours
        // during weekdays from 6am to 10pm.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.Weekly;
        subscription.AgentSchedule.FrequencyInterval = Convert.ToInt32(0x003E);
        subscription.AgentSchedule.FrequencyRecurrenceFactor = 1;
        subscription.AgentSchedule.FrequencySubDay = ScheduleFrequencySubDay.Hour;
        subscription.AgentSchedule.FrequencySubDayInterval = 2;
        subscription.AgentSchedule.ActiveStartDate = 20051108;
        subscription.AgentSchedule.ActiveEndDate = 20071231;
        subscription.AgentSchedule.ActiveStartTime = 060000;
        subscription.AgentSchedule.ActiveEndTime = 100000;

        // Specify the Windows login credentials for the Merge Agent job.
        subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
        subscription.SynchronizationAgentProcessSecurity.Password = winPassword;

        // Create the push subscription.
        subscription.Create();
    }
    else
    {
        // Do something here if the publication does not exist.
        throw new ApplicationException(String.Format(
            "The publication '{0}' does not exist on {1}.",
            publicationName, publisherName));
    }
}
catch (Exception ex)
{
    // Implement the appropriate error handling here.
    throw new ApplicationException(String.Format(
        "The subscription to {0} could not be created.", publicationName), ex);
}
finally
{
    conn.Disconnect();
}
' Define the Publisher, publication, and databases.
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"
Dim hostname As String = "adventure-works\garrett1"

'Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)

' Create the objects that we need.
Dim publication As MergePublication
Dim subscription As MergeSubscription

Try
    ' Connect to the Publisher.
    conn.Connect()

    ' Ensure that the publication exists and that 
    ' it supports push subscriptions.
    publication = New MergePublication()
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName
    publication.ConnectionContext = conn

    If publication.IsExistingObject Then
        If (publication.Attributes And PublicationAttributes.AllowPush) = 0 Then
            publication.Attributes = publication.Attributes _
            Or PublicationAttributes.AllowPush
        End If

        ' Define the push subscription.
        subscription = New MergeSubscription()
        subscription.ConnectionContext = conn
        subscription.SubscriberName = subscriberName
        subscription.PublicationName = publicationName
        subscription.DatabaseName = publicationDbName
        subscription.SubscriptionDBName = subscriptionDbName
        subscription.HostName = hostname

        ' Set a schedule to synchronize the subscription every 2 hours
        ' during weekdays from 6am to 10pm.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.Weekly
        subscription.AgentSchedule.FrequencyInterval = Convert.ToInt32("0x003E", 16)
        subscription.AgentSchedule.FrequencyRecurrenceFactor = 1
        subscription.AgentSchedule.FrequencySubDay = ScheduleFrequencySubDay.Hour
        subscription.AgentSchedule.FrequencySubDayInterval = 2
        subscription.AgentSchedule.ActiveStartDate = 20051108
        subscription.AgentSchedule.ActiveEndDate = 20071231
        subscription.AgentSchedule.ActiveStartTime = 60000
        subscription.AgentSchedule.ActiveEndTime = 100000

        ' Specify the Windows login credentials for the Merge Agent job.
        subscription.SynchronizationAgentProcessSecurity.Login = winLogin
        subscription.SynchronizationAgentProcessSecurity.Password = winPassword

        ' Create the push subscription.
        subscription.Create()
    Else

        ' Do something here if the publication does not exist.
        Throw New ApplicationException(String.Format( _
         "The publication '{0}' does not exist on {1}.", _
         publicationName, publisherName))
    End If
Catch ex As Exception
    ' Implement the appropriate error handling here.
    Throw New ApplicationException(String.Format( _
    "The subscription to {0} could not be created.", publicationName), ex)
Finally
    conn.Disconnect()
End Try

Weitere InformationenSee Also

Replication Security Best Practices Replication Security Best Practices
Abonnieren von Veröffentlichungen Subscribe to Publications
Synchronisieren eines Pushabonnements Synchronize a Push Subscription
Synchronisieren eines Pullabonnements Synchronize a Pull Subscription
Synchronisieren von DatenSynchronize Data