ScheduleFrequencySubDay Enumeration
SQL Server 2008
Enumerates values that specify a smaller scheduling unit for specific schedule frequencies.
Assembly: Microsoft.SqlServer.Rmo (in Microsoft.SqlServer.Rmo.dll)
| Member name | Description | |
|---|---|---|
| Unknown | Sub-units are not valid for the scheduled activity. | |
| Once | Schedules reflect an activity that occurs once on a scheduled unit. | |
| Second | Schedules reflect an activity scheduled using a second as the unit. | |
| Minute | Schedules reflect an activity scheduled using a minute as the unit. | |
| Hour | Schedules reflect an activity scheduled using an hour as the unit. | |
| Valid | Masks to test schedule validity. |
// Define the Publisher, publication, and databases. string publicationName = "AdvWorksSalesOrdersMerge"; string publisherName = publisherInstance; string subscriberName = subscriberInstance; string subscriptionDbName = "AdventureWorksReplica"; string publicationDbName = "AdventureWorks"; 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 = "AdventureWorksReplica" Dim publicationDbName As String = "AdventureWorks" 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
