Udostępnij za pośrednictwem


Klasa ReplicationAgentSchedule

Reprezentuje harmonogram dla zadanie agenta replikacja.

Hierarchia dziedziczenia

System.Object
  Microsoft.SqlServer.Replication.ReplicationAgentSchedule

Przestrzeń nazw:  Microsoft.SqlServer.Replication
Zestaw:  Microsoft.SqlServer.Rmo (w Microsoft.SqlServer.Rmo.dll)

Składnia

'Deklaracja
Public NotInheritable Class ReplicationAgentSchedule
'Użycie
Dim instance As ReplicationAgentSchedule
public sealed class ReplicationAgentSchedule
public ref class ReplicationAgentSchedule sealed
[<SealedAttribute>]
type ReplicationAgentSchedule =  class end
public final class ReplicationAgentSchedule

Typ ReplicationAgentSchedule uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda publiczna ReplicationAgentSchedule Tworzy nowe wystąpienie ReplicationAgentSchedule klasy

Do góry

Właściwości

  Nazwa Opis
Właściwość publiczna ActiveEndDate Pobiera lub ustawia data zaplanowane działania przestanie działać.
Właściwość publiczna ActiveEndTime Pobiera lub ustawia czas zaplanowane działania jest przestanie działać.
Właściwość publiczna ActiveStartDate Pobiera lub ustawia data pierwszego wystąpienia zaplanowanych działań.
Właściwość publiczna ActiveStartTime Pobiera lub ustawia czas pierwszego wystąpienia zaplanowanych działań.
Właściwość publiczna FrequencyInterval Pobiera lub ustawia interwał między wystąpieniami zaplanowane działania.
Właściwość publiczna FrequencyRecurrenceFactor Pobiera lub ustawia współczynnik częstotliwość cyklu.
Właściwość publiczna FrequencyRelativeInterval Pobiera lub ustawia czas wystąpienia względem pierwszego dnia miesiąca.
Właściwość publiczna FrequencySubDay Pobiera lub ustawia częstotliwość w minutach dla zaplanowanych działań, które występują kilka razy dziennie.
Właściwość publiczna FrequencySubDayInterval Pobiera lub ustawia interwał między zaplanowanych działań, które występują w jeden dzień.
Właściwość publiczna FrequencyType Pobiera lub ustawia częstotliwość zaplanowanych działań.

Do góry

Metody

  Nazwa Opis
Metoda publiczna Equals (Dziedziczony z Object).
Metoda chroniona Finalize (Dziedziczony z Object).
Metoda publiczna GetHashCode (Dziedziczony z Object).
Metoda publiczna GetType (Dziedziczony z Object).
Metoda chroniona MemberwiseClone (Dziedziczony z Object).
Metoda publiczna ToString (Dziedziczony z Object).
Metoda publiczna Update Aktualizuje istniejący harmonogram na serwerze.

Do góry

Uwagi

Ten obszar nazw, klasy lub element członkowski jest obsługiwany tylko w wersja 2.0.NET Framework.

Bezpieczeństwo wątków

Wszystkie publiczne statyczne (Shared w Microsoft języka Visual Basic) elementy tego typu są bezpieczne dla operacji wielowątkowe.Nie ma gwarancji, że elementy członkowskie wystąpień będą bezpieczne dla wątków.

Przykłady

           // Define the server, database, and publication names
            string publisherName = publisherInstance;
            string publicationName = "AdvWorksSalesOrdersMerge";
            string publicationDbName = "AdventureWorks2008R2";
            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 = "AdventureWorks2008R2"
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

Bezpieczeństwo wątków

Wszystkie publiczne statyczny (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Nie ma gwarancji, że elementy członkowskie wystąpień będą bezpieczne dla wątków.