ReplicationAgentSchedule Kelas

Definisi

Mewakili jadwal untuk pekerjaan agen replikasi.

public ref class ReplicationAgentSchedule sealed
public sealed class ReplicationAgentSchedule
type ReplicationAgentSchedule = class
Public NotInheritable Class ReplicationAgentSchedule
Warisan
ReplicationAgentSchedule

Contoh

// 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

Keterangan

Namespace, kelas, atau anggota ini hanya didukung di .NET Framework versi 2.0.

Keamanan Thread

Setiap anggota statis publik (Shared di Microsoft Visual Basic) jenis ini aman untuk operasi multithreaded. Setiap anggota instans tidak dijamin aman untuk utas.

Konstruktor

ReplicationAgentSchedule()

Membuat instans ReplicationAgentSchedule baru kelas.

Properti

ActiveEndDate

Mendapatkan atau mengatur tanggal aktivitas terjadwal adalah berhenti berjalan.

ActiveEndTime

Mendapatkan atau mengatur waktu aktivitas terjadwal adalah berhenti berjalan.

ActiveStartDate

Mendapatkan atau menetapkan tanggal kemunculan pertama aktivitas terjadwal.

ActiveStartTime

Mendapatkan atau mengatur waktu kemunculan pertama aktivitas terjadwal.

FrequencyInterval

Mendapatkan atau mengatur interval antara kemunculan aktivitas terjadwal.

FrequencyRecurrenceFactor

Mendapatkan atau mengatur faktor pengulangan frekuensi.

FrequencyRelativeInterval

Mendapatkan atau menetapkan waktu kemunculan yang relatif terhadap hari pertama bulan tersebut.

FrequencySubDay

Mendapatkan atau mengatur frekuensi dalam menit untuk aktivitas terjadwal yang terjadi beberapa kali sehari.

FrequencySubDayInterval

Mendapatkan atau mengatur interval antara aktivitas terjadwal yang terjadi beberapa kali dalam satu hari.

FrequencyType

Mendapatkan atau mengatur frekuensi untuk aktivitas terjadwal.

Metode

Update()

Updates jadwal yang ada di server.

Berlaku untuk

Lihat juga