ScheduleFrequencyType Enumeration
SQL Server 2012
Enumerates the types of frequencies used when scheduling a replication agent job.
Namespace: Microsoft.SqlServer.Replication
Assembly: Microsoft.SqlServer.Rmo (in Microsoft.SqlServer.Rmo.dll)
| Member name | Description | |
|---|---|---|
| Unknown | No schedule frequency, or frequency not applicable. | |
| Onetime | ||
| OnDemand | The Microsoft SQL Server Agent Service schedules the replication agent job when it is specifically requested. | |
| Daily | The replication agent job is run daily. | |
| Weekly | The replication agent job is run weekly. | |
| Monthly | The replication agent job is run monthly. | |
| MonthlyRelative | The replication agent job is run relative to a part of a month, such as the second week. | |
| Continuously | The replication agent job is started when the Microsoft SQL Server Agent Service starts. | |
| OnIdle | The Microsoft SQL Server Agent Service runs the replication agent job any time when the processor is idle. |
// 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(subscriberName); // 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(subscriberName) ' 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