ReplicationAgentSchedule ReplicationAgentSchedule ReplicationAgentSchedule Class

정의

복제 에이전트 작업의 일정을 나타냅니다. Represents the schedule for a replication agent job.

public ref class ReplicationAgentSchedule sealed
public sealed class ReplicationAgentSchedule
Public NotInheritable Class ReplicationAgentSchedule
상속
ReplicationAgentScheduleReplicationAgentScheduleReplicationAgentSchedule

예제

// Define the server, database, and publication names
string publisherName = publisherInstance;
string publicationName = "AdvWorksSalesOrdersMerge";
string publicationDbName = "AdventureWorks2012";
string distributorName = publisherInstance;

MergePublication publication;
MergePartition partition;
MergeDynamicSnapshotJob snapshotAgentJob;
ReplicationAgentSchedule schedule;

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

// Create a connection to the Distributor to start the Snapshot Agent.
ServerConnection distributorConn = new ServerConnection(distributorName);

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

	// Set the required properties for the publication.
	publication = new MergePublication();
	publication.ConnectionContext = publisherConn;
	publication.Name = publicationName;
	publication.DatabaseName = publicationDbName;


	// If we can't get the properties for this merge publication, 
	// then throw an application exception.
	if (publication.LoadProperties() || publication.SnapshotAvailable)
	{
		// Set a weekly schedule for the filtered data snapshot.
		schedule = new ReplicationAgentSchedule();
		schedule.FrequencyType = ScheduleFrequencyType.Weekly;
		schedule.FrequencyRecurrenceFactor = 1;
		schedule.FrequencyInterval = Convert.ToInt32(0x001);

		// Set the value of Hostname that defines the data partition. 
		partition = new MergePartition();
		partition.DynamicFilterHostName = hostname;
		snapshotAgentJob = new MergeDynamicSnapshotJob();
		snapshotAgentJob.DynamicFilterHostName = hostname;

		// Create the partition for the publication with the defined schedule.
		publication.AddMergePartition(partition);
		publication.AddMergeDynamicSnapshotJob(snapshotAgentJob, schedule);
	}
	else
	{
		throw new ApplicationException(String.Format(
			"Settings could not be retrieved for the publication, " +
			" or the initial snapshot has not been generated. " +
			"Ensure that the publication {0} exists on {1} and " +
			"that the Snapshot Agent has run successfully.",
			publicationName, publisherName));
	}
}
catch (Exception ex)
{
	// Do error handling here.
	throw new ApplicationException(string.Format(
		"The partition for '{0}' in the {1} publication could not be created.",
		hostname, publicationName), ex);
}
finally
{
	publisherConn.Disconnect();
	if (distributorConn.IsOpen) distributorConn.Disconnect();
}
' Define the server, database, and publication names
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publicationDbName As String = "AdventureWorks2012"
Dim distributorName As String = publisherInstance

Dim publication As MergePublication
Dim partition As MergePartition
Dim snapshotAgentJob As MergeDynamicSnapshotJob
Dim schedule As ReplicationAgentSchedule

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

' Create a connection to the Distributor to start the Snapshot Agent.
Dim distributorConn As ServerConnection = New ServerConnection(distributorName)

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

    ' Set the required properties for the publication.
    publication = New MergePublication()
    publication.ConnectionContext = publisherConn
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName


    ' If we can't get the properties for this merge publication, 
    ' then throw an application exception.
    If (publication.LoadProperties() Or publication.SnapshotAvailable) Then
        ' Set a weekly schedule for the filtered data snapshot.
        schedule = New ReplicationAgentSchedule()
        schedule.FrequencyType = ScheduleFrequencyType.Weekly
        schedule.FrequencyRecurrenceFactor = 1
        schedule.FrequencyInterval = Convert.ToInt32("0x001", 16)

        ' Set the value of Hostname that defines the data partition. 
        partition = New MergePartition()
        partition.DynamicFilterHostName = hostname
        snapshotAgentJob = New MergeDynamicSnapshotJob()
        snapshotAgentJob.DynamicFilterHostName = hostname

        ' Create the partition for the publication with the defined schedule.
        publication.AddMergePartition(partition)
        publication.AddMergeDynamicSnapshotJob(snapshotAgentJob, schedule)
    Else
        Throw New ApplicationException(String.Format( _
         "Settings could not be retrieved for the publication, " + _
         " or the initial snapshot has not been generated. " + _
         "Ensure that the publication {0} exists on {1} and " + _
         "that the Snapshot Agent has run successfully.", _
         publicationName, publisherName))
    End If
Catch ex As Exception
    ' Do error handling here.
    Throw New ApplicationException(String.Format( _
     "The partition for '{0}' in the {1} publication could not be created.", _
     hostname, publicationName), ex)
Finally
    publisherConn.Disconnect()
    If distributorConn.IsOpen Then
        distributorConn.Disconnect()
    End If
End Try

설명

이 네임스페이스, 클래스 또는 멤버는 .NET Framework 2.0 버전에서만 지원됩니다.This namespace, class, or member is supported only in version 2.0 of the .NET Framework.

스레드 보안Thread Safety

모든 public static (Shared 에 Microsoft Visual Basic)이 형식의 멤버는 다중 스레드 작업에 안전 합니다.Any public static (Shared in Microsoft Visual Basic) members of this type are safe for multithreaded operations. 인스턴스 구성원은 스레드로부터의 안전성이 보장되지 않습니다.Any instance members are not guaranteed to be thread safe.

생성자

ReplicationAgentSchedule() ReplicationAgentSchedule() ReplicationAgentSchedule()

새 인스턴스를 만듭니다는 ReplicationAgentSchedule 클래스입니다. Creates a new instance of the ReplicationAgentSchedule class.

속성

ActiveEndDate ActiveEndDate ActiveEndDate

예약된 작업의 실행이 중지되는 날짜를 가져오거나 설정합니다. Gets or sets the date the scheduled activity is to stop running.

ActiveEndTime ActiveEndTime ActiveEndTime

예약된 작업의 실행이 중지되는 시간을 가져오거나 설정합니다. Gets or sets the time the scheduled activity is to stop running.

ActiveStartDate ActiveStartDate ActiveStartDate

예약된 작업이 처음 실행되는 날짜를 가져오거나 설정합니다. Gets or sets the date of the first occurrence of the scheduled activity.

ActiveStartTime ActiveStartTime ActiveStartTime

예약된 작업이 처음 실행되는 시간을 가져오거나 설정합니다. Gets or sets the time of the first occurrence of the scheduled activity.

FrequencyInterval FrequencyInterval FrequencyInterval

예약된 작업의 실행 간격을 가져오거나 설정합니다. Gets or sets the interval between occurrences of a scheduled activity.

FrequencyRecurrenceFactor FrequencyRecurrenceFactor FrequencyRecurrenceFactor

빈도 되풀이 비율을 가져오거나 설정합니다. Gets or sets the frequency recurrence factor.

FrequencyRelativeInterval FrequencyRelativeInterval FrequencyRelativeInterval

해당 월의 첫 번째 날을 기준으로 실행 시간을 가져오거나 설정합니다. Gets or sets a time of occurrence that is relative to the first day of the month.

FrequencySubDay FrequencySubDay FrequencySubDay

하루에 여러 번 발생하도록 예약된 작업의 빈도(분)를 가져오거나 설정합니다. Gets or sets the frequency in minutes for scheduled activities that occur several times a day.

FrequencySubDayInterval FrequencySubDayInterval FrequencySubDayInterval

하루에 여러 번 발생하도록 예약된 작업의 간격을 가져오거나 설정합니다. Gets or sets the interval between scheduled activities that occur several times in one day.

FrequencyType FrequencyType FrequencyType

예약된 작업의 빈도를 가져오거나 설정합니다. Gets or sets the frequency for a scheduled activity.

메서드

Update() Update() Update()

서버에서 기존 일정을 업데이트합니다. Updates an existing schedule on the server.

적용 대상

추가 정보