Udostępnij za pośrednictwem


Klasa MergeSubscription

Reprezentuje subskrypcja do publikacja seryjnej zarejestrowanych na Wydawca.

Hierarchia dziedziczenia

System.Object
  Microsoft.SqlServer.Replication.ReplicationObject
    Microsoft.SqlServer.Replication.Subscription
      Microsoft.SqlServer.Replication.MergeSubscription

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

Składnia

'Deklaracja
Public NotInheritable Class MergeSubscription _
    Inherits Subscription
'Użycie
Dim instance As MergeSubscription
public sealed class MergeSubscription : Subscription
public ref class MergeSubscription sealed : public Subscription
[<SealedAttribute>]
type MergeSubscription =  
    class
        inherit Subscription
    end
public final class MergeSubscription extends Subscription

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

Konstruktorzy

  Nazwa Opis
Metoda publiczna MergeSubscription() Tworzy nowe wystąpienie MergeSubscription klasy
Metoda publiczna MergeSubscription(String, String, String, String, ServerConnection) Tworzy nowe wystąpienie MergeSubscription klasy z określonego połączenia do Wydawca i właściwości, które jednoznacznie definiują subskrypcja.

Do góry

Właściwości

  Nazwa Opis
Właściwość publiczna AgentJobId Pobiera identyfikator zadanie agenta, używane do synchronizacji subskrypcja. (Dziedziczony z Subscription).
Właściwość publiczna AgentOffload Pobiera lub ustawia, czy agent synchronizacji działa na komputerze innym niż ten, której utworzono zadanie agenta.This property is no longer supported for Distributors running Microsoft SQL Server 2005 and later. (Dziedziczony z Subscription).
Właściwość publiczna AgentOffloadServer Pobiera lub ustawia nazwę komputera zdalnego, w którym agent jest uruchamiany podczas korzystania z agenta zdalnego aktywacja. (Dziedziczony z Subscription).
Właściwość publiczna AgentSchedule Pobiera harmonogram dla zadanie agenta, używane do synchronizacji subskrypcja. (Dziedziczony z Subscription).
Właściwość publiczna CachePropertyChanges Pobiera lub ustawia, czy zmiany właściwości replikacja w pamięci podręcznej, czy stosuje je niezwłocznie. (Dziedziczony z ReplicationObject).
Właściwość publiczna ConnectionContext Gets or sets the connection to an instance of Microsoft SQL Server. (Dziedziczony z ReplicationObject).
Właściwość publiczna CreateSyncAgentByDefault Pobiera lub ustawia, czy zadanie agenta, używane do synchronizacji subskrypcja jest tworzona domyślnie. (Dziedziczony z Subscription).
Właściwość publiczna DatabaseName Pobiera lub ustawia nazwę baza danych publikacja. (Dziedziczony z Subscription).
Właściwość publiczna Description Pobiera lub ustawia opis tekstowy subskrypcja korespondencji seryjnej.
Właściwość publiczna EnabledForSynchronizationManager Określa, czy subskrypcja mogą być synchronizowane za pomocą Microsoft Menedżer synchronizacji systemu Windows. (Dziedziczony z Subscription).
Właściwość publiczna HostName Pobiera lub ustawia wartość dostarczonych do HOST_NAME , gdy funkcja ta jest używana w sparametryzowany filtr wierszy, który definiuje abonenta partycji danych.
Właściwość publiczna IsExistingObject Pobiera się, czy obiekt istnieje na serwerze. (Dziedziczony z ReplicationObject).
Właściwość publiczna Name Pobiera nazwę przypisaną do istniejącej subskrypcja. (Dziedziczony z Subscription).
Właściwość publiczna Priority Pobiera lub ustawia wartość względny priorytet przypisany do subskrypcja serwerowa.
Właściwość publiczna PublicationName Pobiera lub ustawia nazwę publikacja, do której subskrybuje subskrypcja. (Dziedziczony z Subscription).
Właściwość publiczna PublisherSecurity Pobiera kontekst zabezpieczeń, używana przez agenta scalić połączyć Wydawca.
Właściwość publiczna SqlServerName Gets the name of the Microsoft SQL Server instance to which this object is connected. (Dziedziczony z ReplicationObject).
Właściwość publiczna Status Pobiera status subskrypcja. (Dziedziczony z Subscription).
Właściwość publiczna SubscriberName Gets or sets the name of the instance of Microsoft SQL Server that is the Subscriber. (Dziedziczony z Subscription).
Właściwość publiczna SubscriberSecurity Pobiera kontekstu zabezpieczeń używane do łączenia z subskrybenta. (Dziedziczony z Subscription).
Właściwość publiczna SubscriberType Pobiera lub ustawia, czy subskrypcja jest klientem lub subskrypcja serwerowa.
Właściwość publiczna SubscriptionDBName Pobiera lub ustawia nazwę bazy danych na subskrybenta, który odbiera replikowanych danych. (Dziedziczony z Subscription).
Właściwość publiczna SubscriptionType Pobiera czy rejestracji subskrypcja jest wypychanie lub Pobierz subskrypcję. (Dziedziczony z Subscription).
Właściwość publiczna SynchronizationAgent Pobiera wystąpienie MergeSynchronizationAgent klasy, który może służyć do synchronizacji subskrypcja.
Właściwość publiczna SynchronizationAgentName Pobiera lub ustawia nazwę zadanie agenta utworzone do synchronizacji subskrypcja. (Dziedziczony z Subscription).
Właściwość publiczna SynchronizationAgentProcessSecurity Pobiera kontekst zabezpieczeń, który jest używany do określenia Microsoft konta systemu Windows, pod którym działa zadanie synchronizacji agenta do synchronizacji subskrypcja. (Dziedziczony z Subscription).
Właściwość publiczna SyncType Pobiera lub ustawia sposób, w którym subskrypcja jest zainicjowany. (Dziedziczony z Subscription).
Właściwość publiczna UseInteractiveResolver Pobiera lub ustawia, czy interaktywne rozpoznawania nazw jest używana podczas procesu synchronizacji.
Właściwość publiczna UserData Pobiera lub ustawia właściwość obiektu, który umożliwia użytkownikom dołączanie własnych danych do obiektu. (Dziedziczony z ReplicationObject).

Do góry

Metody

  Nazwa Opis
Metoda chroniona CheckValidCreation Infrastruktura. (Dziedziczony z ReplicationObject).
Metoda chroniona CheckValidDefinition Infrastruktura. (Dziedziczony z Subscription).
Metoda publiczna CommitPropertyChanges Sends all the cached property change statements to the instance of Microsoft SQL Server. (Dziedziczony z ReplicationObject).
Metoda publiczna Create Tworzy rejestracji subskrypcja na Wydawca. (Dziedziczony z Subscription).
Metoda publiczna Decouple Oddzielono obiekt odwołanie replikacja z serwera. (Dziedziczony z ReplicationObject).
Metoda publiczna Equals (Dziedziczony z Object).
Metoda chroniona Finalize (Dziedziczony z Object).
Metoda chroniona GetChangeCommand Infrastruktura. (Dziedziczony z ReplicationObject).
Metoda chroniona GetCreateCommand Infrastruktura. (Dziedziczony z ReplicationObject).
Metoda chroniona GetDropCommand Infrastruktura. (Dziedziczony z ReplicationObject).
Metoda publiczna GetHashCode (Dziedziczony z Object).
Metoda publiczna GetType (Dziedziczony z Object).
Metoda chroniona InternalRefresh Infrastruktura. (Dziedziczony z ReplicationObject).
Metoda publiczna Load Ładuje właściwości istniejącego obiektu z serwera. (Dziedziczony z ReplicationObject).
Metoda publiczna LoadProperties Ładuje właściwości istniejącego obiektu z serwera. (Dziedziczony z ReplicationObject).
Metoda chroniona MemberwiseClone (Dziedziczony z Object).
Metoda publiczna Refresh Ponownie ładuje właściwości obiektu. (Dziedziczony z ReplicationObject).
Metoda publiczna Reinitialize Oznacza subskrypcja scalania dla ponownego inicjowania.
Metoda publiczna Remove Usuwa rejestracji subskrypcji przez wydawcę i obiekty replikacja subskrybent dla subskrypcja wypychana. (Dziedziczony z Subscription).
Metoda publiczna Script Zwraca Transact-SQL skryptu, który może służyć do tworzenia lub usuwania subskrypcja. (Dziedziczony z Subscription).
Metoda publiczna StopSynchronizationJob Próbuje zatrzymać uruchomione zadanie scalić agenta, który Trwa synchronizowanie subskrypcja.
Metoda publiczna SynchronizeWithJob Uruchamia zadanie agenta do synchronizacji subskrypcja.
Metoda publiczna ToString (Dziedziczony z Object).

Do góry

Uwagi

MergeSubscription Klasa jest używana z obu ściągania i wypychanie subskrypcji do publikacja korespondencji seryjnej.

Podczas konfigurowania Publisher z dystrybutor zdalny, wartości dostarczone dla wszystkich parametrów, łącznie z SynchronizationAgentProcessSecurity, są wysyłane do dystrybutora jako zwykły tekst.Należy zaszyfrować połączenie między Wydawca i jego dystrybutor zdalny przed wywoływaniem Create metoda.Aby uzyskać więcej informacji, zobacz temat Szyfrowania połączeńSQL Server.

Ten obszar nazw, klasy lub element członkowski jest obsługiwany tylko w wersja 2.0 Microsoft .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 Publisher, publication, and databases.
            string publicationName = "AdvWorksSalesOrdersMerge";
            string publisherName = publisherInstance;
            string subscriberName = subscriberInstance;
            string subscriptionDbName = "AdventureWorks2008R2Replica";
            string publicationDbName = "AdventureWorks2008R2";
            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 = "AdventureWorks2008R2Replica"
Dim publicationDbName As String = "AdventureWorks2008R2"
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

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.