MergePullSubscription Klasse

Definition

Stellt ein Pullabonnement einer Mergeveröffentlichung 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

Bei einem Pullabonnement wird die Merge-Agent beim Abonnenten ausgeführt.

Threadsicherheit

Alle öffentlichen statischen (Shared in Microsoft Visual Basic) Member dieses Typs sind für Multithreadvorgänge sicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Konstruktoren

MergePullSubscription()

Erstellt eine neue Instanz der MergePullSubscription-Klasse.

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

Initialisiert eine neue Instanz der -Klasse mit der MergePullSubscription angegebenen Datenbank-, Verleger-, Veröffentlichungs- und Abonnentenverbindung.

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

Erstellt eine neue Instanz der MergePullSubscription-Klasse mit der angegebenen Verbindung zur Datenbank, zum Verleger, zur Veröffentlichung und zum Abonnenten sowie mit Informationen dazu, ob der Agentauftrag erstellt wird.

Eigenschaften

AgentJobId

Ruft die ID des Agentauftrags zum Synchronisieren des Abonnements ab.

(Geerbt von PullSubscription)
AgentOffload

Ruft ab oder legt fest, ob der Synchronisierungs-Agent auf einem anderen Computer als dem ausgeführt wird, auf dem der Agentauftrag erstellt wurde. Diese Eigenschaft wird für Distributoren, die Microsoft SQL Server 2005 und höher ausführen, nicht mehr unterstützt.

(Geerbt von PullSubscription)
AgentOffloadServer

Ruft den Namen des Remotecomputers ab, auf dem der Agent bei Aktivierung des Remote-Agents ausgeführt wird, oder legt ihn fest.

(Geerbt von PullSubscription)
AgentSchedule

Ruft den Zeitplan für den Agentauftrag zum Synchronisieren des Abonnements ab.

(Geerbt von PullSubscription)
AltSnapshotFolder

Ruft den Speicherort ab, von dem die Momentaufnahmedateien für die Veröffentlichung abgerufen werden, wenn der Standardspeicherort für Momentaufnahmen auf dem Verteiler nicht verwendet wird, oder legt ihn fest.

(Geerbt von PullSubscription)
CachePropertyChanges

Ruft ab oder legt fest, ob Änderungen an den Replikationseigenschaften zwischengespeichert oder sofort angewendet werden sollen.

(Geerbt von ReplicationObject)
ConnectionContext

Ruft die Verbindung mit einer Instanz von Microsoft SQL Server ab oder legt sie fest.

(Geerbt von ReplicationObject)
CreateSyncAgentByDefault

Ruft ab oder legt fest, ob der Agentauftrag, der zum Starten des Replikations-Agents verwendet wird, um das Abonnement zu synchronisieren, erstellt wird, wenn das Abonnement erstellt wird.

(Geerbt von PullSubscription)
DatabaseName

Ruft den Namen der Abonnementdatenbank ab oder legt diesen fest.

(Geerbt von PullSubscription)
Description

Ruft eine Textbeschreibung des Pullabonnements ab oder legt diese fest.

(Geerbt von PullSubscription)
DistributorName

Ruft die Instanz von Microsoft SQL Server ab, die der Verteiler ist, und verteilt die Publikation, für die das Abonnement abonniert ist, oder legt diese fest.

(Geerbt von PullSubscription)
DistributorSecurity

Ruft den Sicherheitskontext ab, mit dem eine Verbindung zum Verteiler hergestellt wird.

(Geerbt von PullSubscription)
DynamicSnapshotLocation

Ruft den Speicherort der abonnementspezifischen Momentaufnahmedateien ab, wenn die Veröffentlichung einen parametrisierten Zeilenfilter verwendet, oder legt ihn fest.

EnabledForSynchronizationManager

Gibt an, ob das Abonnement über die Synchronisierungsverwaltung von Windows synchronisiert werden kann.

(Geerbt von PullSubscription)
FtpAddress

Ruft die IP-Adresse des FTP-Servers ab oder legt sie fest.

(Geerbt von PullSubscription)
FtpLogin

Ruft die FTP-Anmeldung ab oder legt sie fest.

(Geerbt von PullSubscription)
FtpPassword

Ruft das FTP-Kennwort ab oder legt es fest.

(Geerbt von PullSubscription)
FtpPort

Ruft die Portnummer für den FTP-Server ab oder legt sie fest.

(Geerbt von PullSubscription)
HostName

Ruft den Wert ab, der für die HOST_NAME-Funktion bereitgestellt wird, wenn diese Funktion im parametrisierten Zeilenfilter verwendet wird, der die Datenpartition des Abonnenten definiert, oder legt diesen fest.

InternetLogin

Ruft den Anmeldenamen ab, der bei der HTTP-Standardauthentifizierung beim Herstellen einer Verbindung mit dem Webserver während der Websynchronisierung verwendet wird, oder legt ihn fest.

InternetPassword

Ruft beim Herstellen einer Verbindung mit dem Webserver während der Websynchronisierung das Kennwort für den angegebenen InternetLogin-Wert ab oder legt es fest.

InternetSecurityMode

Ruft die HTTP-Authentifizierungsmethode ab, die beim Herstellen einer Verbindung mit dem Webserver während der Websynchronisierung verwendet wird, oder legt diese fest.

InternetTimeout

Ruft beim Herstellen einer Verbindung mit dem Webserver während der Websynchronisierung das HTTP-Timeout in Sekunden ab oder legt es fest.

InternetUrl

Ruft die URL ab, die beim Synchronisieren des Abonnements mit der Websynchronisierung verwendet werden soll, oder legt sie fest.

IsExistingObject

Ruft ab, ob das Objekt auf dem Server vorhanden ist.

(Geerbt von ReplicationObject)
IsMemoryOptimized

Stellt ein Pullabonnement einer Mergeveröffentlichung dar.

(Geerbt von PullSubscription)
LastAgentDateTime

Ruft das Datum und die Uhrzeit der letzten Synchronisierung des Abonnements ab.

(Geerbt von PullSubscription)
LastAgentStatus

Ruft den Status der letzten Synchronisierung des Abonnements ab.

(Geerbt von PullSubscription)
LastAgentSummary

Ruft eine Zusammenfassung des Ergebnisses der letzten Synchronisierung des Abonnements ab.

(Geerbt von PullSubscription)
Name

Ruft den für das Pullabonnement generierten Namen ab.

(Geerbt von PullSubscription)
Priority

Ruft die Gewichtung dieses Serverabonnements im Vergleich zu anderen Serverabonnements ab, wenn Konflikte zwischen Abonnements gelöst werden, oder legt sie fest.

PublicationDBName

Ruft den Namen der Veröffentlichungsdatenbank ab oder legt ihn fest.

(Geerbt von PullSubscription)
PublicationName

Ruft den Namen der Publikation ab, die das Abonnement abonniert, oder legt diesen fest.

(Geerbt von PullSubscription)
PublisherName

Ruft den Namen des Verlegers ab oder legt den Namen fest.

(Geerbt von PullSubscription)
PublisherSecurity

Ruft den vom Synchronisierungs-Agent beim Herstellen der Verbindung mit dem Verleger verwendeten Sicherheitskontext ab oder legt ihn fest.

(Geerbt von PullSubscription)
SecureFtpPassword

Ruft das sichere Kennwort für den Anmeldenamen ab, über den eine Verbindung mit dem FTP-Server hergestellt wird, oder legt es fest.

(Geerbt von PullSubscription)
SecureInternetPassword

Legt das Kennwort (als SecureString-Objekt) fest, das beim Herstellen einer Verbindung mit dem Webserver mithilfe der HTTP-Standardauthentifizierung verwendet wird.

SqlServerName

Ruft den Namen der Microsoft SQL Server-Instanz ab, mit der dieses Objekt verbunden ist.

(Geerbt von ReplicationObject)
SubscriberSecurity

Ruft den Sicherheitskontext ab, der vom Synchronisierungs-Agent beim Herstellen der Verbindung mit dem Abonnenten verwendet wird.

(Geerbt von PullSubscription)
SubscriberType

Ruft ab oder legt fest, ob das Abonnement ein Server- oder ein Clientabonnement ist.

SubscriptionId

Ruft den ID-Wert des Abonnements ab.

(Geerbt von PullSubscription)
SubscriptionType

Ruft ab, ob die Abonnementregistrierung für ein Push-, Pull- oder eine anonymes Abonnement ist.

(Geerbt von PullSubscription)
SynchronizationAgent

Ruft ein Objekt ab, das eine Instanz des Merge-Agents darstellt, der zum Synchronisieren des Abonnements verwendet werden kann.

SynchronizationAgentProcessSecurity

Ruft den Sicherheitskontext ab, der verwendet wird, um das Microsoft Windows-Konto anzugeben, unter dem der Synchronisierungs-Agent-Auftrag ausgeführt wird, um das Abonnement zu synchronisieren.

(Geerbt von PullSubscription)
SyncType

Ruft die Art und Weise ab, in der Daten auf dem Abonnenten initialisiert werden, oder legt sie fest.

Type

Ruft den Veröffentlichungstyp ab oder legt ihn fest.

(Geerbt von PullSubscription)
UseFtp

Ruft ab oder legt fest, ob vom Synchronisierungs-Agent über FTP (File Transfer Protocol) auf die Momentaufnahmedateien zugegriffen wird, die benötigt werden, um das Pullabonnement zu initialisieren.

(Geerbt von PullSubscription)
UseInteractiveResolver

Ruft ab oder legt fest, ob der interaktive Konfliktlöser während des Synchronisierungsvorgangs verwendet wird.

UserData

Ruft eine Objekteigenschaft ab, die es Benutzern ermöglicht, ihre eigenen Daten an das Objekt anzufügen, oder legt sie fest.

(Geerbt von ReplicationObject)
UseWebSynchronization

Ruft ab oder legt fest, ob das Abonnement mithilfe der Websynchronisierung synchronisiert wird.

WorkingDirectory

Ruft den Pfad des Verzeichnisses auf dem Abonnenten ab, das verwendet wird, um heruntergeladene Momentaufnahmedateien vorübergehend zu speichern und zu dekomprimieren, oder legt ihn fest.

(Geerbt von PullSubscription)

Methoden

CheckValidCreation()

Überprüft, ob die Replikationserstellung gültig ist.

(Geerbt von ReplicationObject)
CheckValidDefinition(Boolean)

Gibt an, ob die Definition gültig ist.

(Geerbt von PullSubscription)
CommitPropertyChanges()

Sendet alle zwischengespeicherten Eigenschaftsänderungsanweisungen an die Instanz von Microsoft SQL Server.

(Geerbt von ReplicationObject)
Create()

Erstellt das Pullabonnement auf dem Abonnenten.

(Geerbt von PullSubscription)
CustomEnabledForSyncMgr(StringBuilder)

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

(Geerbt von PullSubscription)
Decouple()

Entkoppelt das Replikationsobjekt, auf das verwiesen wird, vom Server.

(Geerbt von ReplicationObject)
EnumSynchronizationPartners()

Gibt die alternativen Synchronisierungspartner zurück.

GetChangeCommand(StringBuilder, String, String)

Gibt den Änderungsbefehl von der Replikation zurück.

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

Gibt den Erstellungsbefehl von der Replikation zurück.

(Geerbt von ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

Gibt den Löschbefehl von der Replikation zurück.

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

Initialisiert die Elementvariablen.

(Geerbt von PullSubscription)
InternalRefresh(Boolean)

Initiiert eine interne Aktualisierung von der Replikation.

(Geerbt von ReplicationObject)
LastAgentJobHistoryInfo()

Gibt Informationen zum letzten Auftrag des Synchronisierungs-Agents zurück, der ausgeführt wurde.

(Geerbt von PullSubscription)
Load()

Lädt die Eigenschaften eines vorhandenen Objekts vom Server.

(Geerbt von ReplicationObject)
LoadProperties()

Lädt die Eigenschaften eines vorhandenen Objekts vom Server.

(Geerbt von ReplicationObject)
Refresh()

Lädt die Eigenschaften des Objekts erneut.

(Geerbt von ReplicationObject)
Reinitialize(Boolean)

Markiert das Mergepullabonnement für die erneute Initialisierung.

Remove()

Entfernt das Pullabonnement.

(Geerbt von PullSubscription)
Script(ScriptOptions)

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

(Geerbt von PullSubscription)
StopSynchronizationJob()

Versucht, einen gerade ausgeführten Merge-Agent-Auftrag zu beenden, der zurzeit das Abonnement synchronisiert.

SynchronizeWithJob()

Startet den Agentauftrag (asynchron) zur Synchronisierung des Pullabonnements.

Gilt für:

Weitere Informationen