MergePullSubscription Klasse

Definition

Stellt ein Pull-Abonnement für eine Merge-Publikation dar.

public ref class MergePullSubscription sealed : Microsoft::SqlServer::Replication::PullSubscription
public sealed class MergePullSubscription : Microsoft.SqlServer.Replication.PullSubscription
type MergePullSubscription = class
    inherit PullSubscription
Public NotInheritable Class MergePullSubscription
Inherits PullSubscription
Vererbung
MergePullSubscription

Beispiele

// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksSalesOrdersMerge";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
string hostname = @"adventure-works\garrett1";

//Create connections to the Publisher and Subscriber.
ServerConnection subscriberConn = new ServerConnection(subscriberName);
ServerConnection publisherConn = new ServerConnection(publisherName);

// Create the objects that we need.
MergePublication publication;
MergePullSubscription subscription;

try
{
    // Connect to the Subscriber.
    subscriberConn.Connect();

    // Ensure that the publication exists and that 
    // it supports pull subscriptions.
    publication = new MergePublication();
    publication.Name = publicationName;
    publication.DatabaseName = publicationDbName;
    publication.ConnectionContext = publisherConn;

    if (publication.LoadProperties())
    {
        if ((publication.Attributes & PublicationAttributes.AllowPull) == 0)
        {
            publication.Attributes |= PublicationAttributes.AllowPull;
        }

        // Define the pull subscription.
        subscription = new MergePullSubscription();
        subscription.ConnectionContext = subscriberConn;
        subscription.PublisherName = publisherName;
        subscription.PublicationName = publicationName;
        subscription.PublicationDBName = publicationDbName;
        subscription.DatabaseName = subscriptionDbName;
        subscription.HostName = hostname;

        // Specify the Windows login credentials for the Merge Agent job.
        subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
        subscription.SynchronizationAgentProcessSecurity.Password = winPassword;

        // Make sure that the agent job for the subscription is created.
        subscription.CreateSyncAgentByDefault = true;

        // Create the pull subscription at the Subscriber.
        subscription.Create();

        Boolean registered = false;

        // Verify that the subscription is not already registered.
        foreach (MergeSubscription existing
            in publication.EnumSubscriptions())
        {
            if (existing.SubscriberName == subscriberName
                && existing.SubscriptionDBName == subscriptionDbName
                && existing.SubscriptionType == SubscriptionOption.Pull)
            {
                registered = true;
            }
        }
        if (!registered)
        {
            // Register the local subscription with the Publisher.
            publication.MakePullSubscriptionWellKnown(
                subscriberName, subscriptionDbName,
                SubscriptionSyncType.Automatic,
                MergeSubscriberType.Local, 0);
        }
    }
    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
{
    subscriberConn.Disconnect();
    publisherConn.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 = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"
Dim hostname As String = "adventure-works\garrett1"

'Create connections to the Publisher and Subscriber.
Dim subscriberConn As ServerConnection = New ServerConnection(subscriberName)
Dim publisherConn As ServerConnection = New ServerConnection(publisherName)

' Create the objects that we need.
Dim publication As MergePublication
Dim subscription As MergePullSubscription

Try
    ' Connect to the Subscriber.
    subscriberConn.Connect()

    ' Ensure that the publication exists and that 
    ' it supports pull subscriptions.
    publication = New MergePublication()
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName
    publication.ConnectionContext = publisherConn

    If publication.LoadProperties() Then
        If (publication.Attributes And PublicationAttributes.AllowPull) = 0 Then
            publication.Attributes = publication.Attributes _
            Or PublicationAttributes.AllowPull
        End If

        ' Define the pull subscription.
        subscription = New MergePullSubscription()
        subscription.ConnectionContext = subscriberConn
        subscription.PublisherName = publisherName
        subscription.PublicationName = publicationName
        subscription.PublicationDBName = publicationDbName
        subscription.DatabaseName = subscriptionDbName
        subscription.HostName = hostname

        ' Specify the Windows login credentials for the Merge Agent job.
        subscription.SynchronizationAgentProcessSecurity.Login = winLogin
        subscription.SynchronizationAgentProcessSecurity.Password = winPassword

        ' Make sure that the agent job for the subscription is created.
        subscription.CreateSyncAgentByDefault = True

        ' Create the pull subscription at the Subscriber.
        subscription.Create()

        Dim registered As Boolean = False

        ' Verify that the subscription is not already registered.
        For Each existing As MergeSubscription In _
        publication.EnumSubscriptions()
            If existing.SubscriberName = subscriberName Then
                registered = True
            End If
        Next
        If Not registered Then
            ' Register the local subscription with the Publisher.
            publication.MakePullSubscriptionWellKnown( _
             subscriberName, subscriptionDbName, _
             SubscriptionSyncType.Automatic, _
             MergeSubscriberType.Local, 0)
        End If
    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
    subscriberConn.Disconnect()
    publisherConn.Disconnect()
End Try

Hinweise

Für ein Pull-Abonnement läuft der Merge-Agent beim Subscriber.

Threadsicherheit

Alle öffentlichen statischen (Shared in Microsoft Visual Basic) Mitglieder dieses Typs sind für Multithread-Operationen sicher. Instanzenmitglieder sind nicht garantiert threadsicher.

Konstruktoren

Name Beschreibung
MergePullSubscription()

Erstellt eine neue Instanz der MergePullSubscription Klasse.

MergePullSubscription(String, String, String, String, ServerConnection, Boolean)

Erstellt eine neue Instanz der MergePullSubscription Klasse mit der angegebenen Datenbank, Publisher, Veröffentlichung, Subscriber-Verbindung und ob der Agent-Job erstellt wird.

MergePullSubscription(String, String, String, String, ServerConnection)

Initialisiert eine neue Instanz der MergePullSubscription Klasse mit der angegebenen Datenbank, Publisher, Veröffentlichung und Subscriber-Verbindung.

Eigenschaften

Name Beschreibung
AgentJobId

Erhält die ID des Agentenjobs, der zur Synchronisierung des Abonnements verwendet wurde.

(Geerbt von PullSubscription)
AgentOffload

Erhält oder setzt fest, ob der Synchronization Agent auf einem anderen Computer läuft als dem, auf dem der Agent-Job erstellt wurde. Diese Eigenschaft wird für Distributoren, die Microsoft SQL Server 2005 und später ausführen, nicht mehr unterstützt.

(Geerbt von PullSubscription)
AgentOffloadServer

Erhält oder setzt den Namen des entfernten Computers, auf dem der Agent läuft, wenn die Fernagentenaktivierung verwendet wird.

(Geerbt von PullSubscription)
AgentSchedule

Erhält den Zeitplan für den Agentenjob, der zur Synchronisierung des Abonnements verwendet wird.

(Geerbt von PullSubscription)
AltSnapshotFolder

Erhält oder setzt den Ort, an dem die Veröffentlichungssnapshot-Dateien erhalten werden, wenn der Standard-Snapshot-Speicher beim Distributor nicht verwendet wird.

(Geerbt von PullSubscription)
CachePropertyChanges

Es gibt oder setzt, ob Änderungen an den Replikationseigenschaften zwischengespeichert oder sofort angewendet werden.

(Geerbt von ReplicationObject)
ConnectionContext

Erhält oder setzt die Verbindung zu einer Instanz von Microsoft SQL Server.

(Geerbt von ReplicationObject)
CreateSyncAgentByDefault

Erhält oder setzt fest, ob der Agent-Job, der zum Start des Replikationsagenten zur Synchronisierung des Abonnements verwendet wird, erstellt wird, wenn das Abonnement erstellt wird.

(Geerbt von PullSubscription)
DatabaseName

Erhält oder setzt den Namen der Abonnementdatenbank.

(Geerbt von PullSubscription)
Description

Erhält oder setzt eine Textbeschreibung des Pull-Abonnements.

(Geerbt von PullSubscription)
DistributorName

Erhält oder setzt die Instanz des Microsoft SQL Server, die der Distributor ist und die Publikation verteilt, für die das Abonnement abonniert ist.

(Geerbt von PullSubscription)
DistributorSecurity

Erhält den Sicherheitskontext, der zur Verbindung mit dem Distributor verwendet wird.

(Geerbt von PullSubscription)
DynamicSnapshotLocation

Erhält oder setzt den Dateistandort für die abonnementspezifischen Snapshot-Dateien, wenn die Veröffentlichung einen parametrisierten Zeilenfilter verwendet.

EnabledForSynchronizationManager

Gibt an, ob das Abonnement mit Windows Synchronization Manager synchronisiert werden kann oder nicht.

(Geerbt von PullSubscription)
FtpAddress

Erhält oder setzt die IP-Adresse des FTP-Servers.

(Geerbt von PullSubscription)
FtpLogin

Erhält oder stellt den FTP-Login ein.

(Geerbt von PullSubscription)
FtpPassword

Erhält oder setzt das FTP-Passwort.

(Geerbt von PullSubscription)
FtpPort

Erhält oder setzt die Portnummer für den FTP-Server.

(Geerbt von PullSubscription)
HostName

Erhält oder setzt den Wert, der der HOST_NAME Funktion zugeordnet wird, wenn diese Funktion im parametrisierten Zeilenfilter verwendet wird, der die Datenpartition des Abonnenten definiert.

InternetLogin

Erhält oder setzt die mit HTTP Basic Authentication verwendete Login, wenn sie sich während der Websynchronisation mit dem Webserver verbindet.

InternetPassword

Erhält oder setzt das Passwort für den angegebenen InternetLogin Wert beim Verbinden mit dem Webserver während der Websynchronisation.

InternetSecurityMode

Erhält oder setzt die HTTP-Authentifizierungsmethode, die beim Verbinden mit dem Webserver während der Websynchronisation verwendet wird.

InternetTimeout

Erhält oder setzt das HTTP-Timeout innerhalb von Sekunden beim Verbinden mit dem Webserver während der Websynchronisation.

InternetUrl

Erhält oder stellt die URL ein, die beim Synchronisieren des Abonnements mit Websynchronisation verwendet wird.

IsExistingObject

Es bekommt, ob das Objekt auf dem Server existiert oder nicht.

(Geerbt von ReplicationObject)
IsMemoryOptimized

Stellt ein Pull-Abonnement für eine Merge-Publikation dar.

(Geerbt von PullSubscription)
LastAgentDateTime

Es bekommt Datum und Uhrzeit, wann das Abonnement zuletzt synchronisiert wurde.

(Geerbt von PullSubscription)
LastAgentStatus

Erhält den Status der letzten Synchronisation des Abonnements.

(Geerbt von PullSubscription)
LastAgentSummary

Erhält eine Zusammenfassung des Ergebnisses der letzten Synchronisation des Abonnements.

(Geerbt von PullSubscription)
Name

Erhält den Namen, der für das Pull-Abonnement generiert wird.

(Geerbt von PullSubscription)
Priority

Erhält oder setzt die Gewichtung dieses Server-Abonnements im Vergleich zu anderen Server-Abonnements, wenn Konflikte zwischen Abonnements gelöst werden.

PublicationDBName

Erhält oder setzt den Namen der Publikationsdatenbank.

(Geerbt von PullSubscription)
PublicationName

Erhält oder setzt den Namen der Publikation, für die der Abonnent abonniert ist.

(Geerbt von PullSubscription)
PublisherName

Erhält oder setzt den Namen des Publisher.

(Geerbt von PullSubscription)
PublisherSecurity

Erhält oder setzt den Sicherheitskontext, den der Synchronization Agent beim Verbinden mit dem Publisher verwendet.

(Geerbt von PullSubscription)
SecureFtpPassword

Erhält oder setzt das sichere Passwort für den Login, mit dem sich der FTP-Server verbindet.

(Geerbt von PullSubscription)
SecureInternetPassword

Legt das Passwort (als SecureString Objekt) fest, das beim Verbinden mit dem Webserver mittels HTTP Basic Authentication verwendet wird.

SqlServerName

Erhält den Namen der Microsoft SQL Server-Instanz, mit der dieses Objekt verbunden ist.

(Geerbt von ReplicationObject)
SubscriberSecurity

Erhält den Sicherheitskontext, den der Synchronisationsagent beim Verbinden mit dem Abonnenten verwendet.

(Geerbt von PullSubscription)
SubscriberType

Es gibt oder bestimmt, ob das Abonnement ein Server- oder ein Client-Abonnement ist.

SubscriptionId

Erhält den Wert der Abonnement-ID.

(Geerbt von PullSubscription)
SubscriptionType

Es wird herausgefunden, ob die Abonnementregistrierung für ein Push-, Pull- oder ein anonymes Abonnement gilt.

(Geerbt von PullSubscription)
SynchronizationAgent

Erhält ein Objekt, das eine Instanz des Merge-Agent darstellt und zur Synchronisation des Abonnements verwendet werden kann.

SynchronizationAgentProcessSecurity

Erhält den Sicherheitskontext, der verwendet wird, um das Microsoft Windows Konto anzugeben, unter dem der Synchronization Agent-Job zur Synchronisierung des Abonnements ausgeführt wird.

(Geerbt von PullSubscription)
SyncType

Erhält oder legt die Art und Weise fest, wie Daten beim Abonnenten initialisiert werden.

Type

Bekommt oder bestimmt den Veröffentlichungstyp.

(Geerbt von PullSubscription)
UseFtp

Erhält oder setzt fest, ob die Snapshot-Dateien, die zur Initialisierung des Pull-Abonnements benötigt werden, vom Synchronization Agent über File Transfer Protocol (FTP) abgerufen werden.

(Geerbt von PullSubscription)
UseInteractiveResolver

Erhält oder setzt fest, ob der Interactive Resolver während des Synchronisationsprozesses verwendet wird.

UserData

Erhält oder setzt eine Objekt-Eigenschaft, die es Nutzern erlaubt, eigene Daten an das Objekt anzuhängen.

(Geerbt von ReplicationObject)
UseWebSynchronization

Erhält oder legt fest, ob das Abonnement mittels Websynchronisation synchronisiert ist.

WorkingDirectory

Erhält oder setzt den Pfad des Verzeichnisses beim Subscriber ab, das zum vorübergehenden Speichern und Dekomprimieren heruntergeladener Snapshot-Dateien verwendet wird.

(Geerbt von PullSubscription)

Methoden

Name Beschreibung
CheckValidCreation()

Prüft die gültige Replikationserstellung.

(Geerbt von ReplicationObject)
CheckValidDefinition(Boolean)

Gibt an, ob die Definition gültig ist.

(Geerbt von PullSubscription)
CommitPropertyChanges()

Sendet alle zwischengespeicherten Property-Change-Anweisungen an die Instanz von Microsoft SQL Server.

(Geerbt von ReplicationObject)
Create()

Erstellt das Pull-Abonnement auf dem Subscriber.

(Geerbt von PullSubscription)
CustomEnabledForSyncMgr(StringBuilder)

Aktiviert die benutzerdefinierte Veröffentlichung für den synchronen Manager.

(Geerbt von PullSubscription)
Decouple()

Entkoppelt das referenzierte Replikationsobjekt vom Server.

(Geerbt von ReplicationObject)
EnumSynchronizationPartners()

gibt die alternativen Synchronisationspartner zurück

GetChangeCommand(StringBuilder, String, String)

Gibt den Änderungsbefehl aus der Replikation zurück.

(Geerbt von ReplicationObject)
GetCreateCommand(StringBuilder, Boolean, ScriptOptions)

Gibt den Create-Befehl aus der Replikation zurück.

(Geerbt von ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

Gibt den Drop-Befehl aus der Replikation zurück.

(Geerbt von ReplicationObject)
InitMemberVariables(String, String, String, String, Boolean)

Initialisiert die Mitgliedsvariablen.

(Geerbt von PullSubscription)
InternalRefresh(Boolean)

Führt eine interne Aktualisierung aus der Replikation ein.

(Geerbt von ReplicationObject)
LastAgentJobHistoryInfo()

Gibt Informationen zum letzten Synchronisationsagenten-Job zurück, der ausgeführt wurde.

(Geerbt von PullSubscription)
Load()

Lädt die Eigenschaften eines bestehenden Objekts vom Server.

(Geerbt von ReplicationObject)
LoadProperties()

Lädt die Eigenschaften eines bestehenden Objekts vom Server.

(Geerbt von ReplicationObject)
Refresh()

Lädt die Eigenschaften des Objekts neu.

(Geerbt von ReplicationObject)
Reinitialize(Boolean)

Markiert das Merge-Pull-Abonnement zur Neuinitialisierung.

Remove()

Entfernt das Pull-Abonnement.

(Geerbt von PullSubscription)
Script(ScriptOptions)

Gibt ein Transact-SQL Skript zurück, um das Pull-Abonnement basierend auf der aktuellen Eigenschaftseinstellung des PullSubscription Objekts zu erstellen oder zu löschen.

(Geerbt von PullSubscription)
StopSynchronizationJob()

Versucht, einen laufenden Merge-Agent-Job zu stoppen, der gerade das Abonnement synchronisiert.

SynchronizeWithJob()

Startet den Agent-Job asynchron, um das Pull-Abonnement zu synchronisieren.

Gilt für:

Weitere Informationen