TransPullSubscription Klasse

Definition

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

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

Beispiele

// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksProductTran";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";

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

// Create the objects that we need.
TransPublication publication;
TransPullSubscription subscription;

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

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

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

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

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

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

        // By default, subscriptions to transactional publications are synchronized 
        // continuously, but in this case we only want to synchronize on demand.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand;

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

        Boolean registered = false;

        // Verify that the subscription is not already registered.
        foreach (TransSubscription existing
            in publication.EnumSubscriptions())
        {
            if (existing.SubscriberName == subscriberName
                && existing.SubscriptionDBName == subscriptionDbName)
            {
                registered = true;
            }
        }
        if (!registered)
        {
            // Register the subscription with the Publisher.
            publication.MakePullSubscriptionWellKnown(
                subscriberName, subscriptionDbName,
                SubscriptionSyncType.Automatic,
                TransSubscriberType.ReadOnly);
        }
    }
    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 = "AdvWorksProductTran"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"

'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 TransPublication
Dim subscription As TransPullSubscription

Try
    ' Connect to the Publisher and Subscriber.
    subscriberConn.Connect()
    publisherConn.Connect()

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

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

        ' Define the pull subscription.
        subscription = New TransPullSubscription()
        subscription.ConnectionContext = subscriberConn
        subscription.PublisherName = publisherName
        subscription.PublicationName = publicationName
        subscription.PublicationDBName = publicationDbName
        subscription.DatabaseName = subscriptionDbName
        subscription.Description = "Pull subscription to " + publicationDbName _
        + " on " + subscriberName + "."

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

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

        ' By default, subscriptions to transactional publications are synchronized 
        ' continuously, but in this case we only want to synchronize on demand.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand

        ' 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 TransSubscription In publication.EnumSubscriptions()
            If existing.SubscriberName = subscriberName And _
                existing.SubscriptionDBName = subscriptionDbName Then
                registered = True
            End If
        Next existing
        If Not registered Then
            ' Register the subscription with the Publisher.
            publication.MakePullSubscriptionWellKnown( _
             subscriberName, subscriptionDbName, _
             SubscriptionSyncType.Automatic, _
             TransSubscriberType.ReadOnly)
        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 Verteilungs-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
TransPullSubscription()

Erstellt eine neue Instanz der TransPullSubscription Klasse.

TransPullSubscription(String, String, String, String, ServerConnection, Boolean)

Erstellt eine neue Instanz der TransPullSubscription Klasse mit den Eigenschaften, die ein Pull-Abonnement definieren, und ob der Agent-Job für das Abonnement erstellt werden soll oder nicht.

TransPullSubscription(String, String, String, String, ServerConnection)

Erstellt eine neue Instanz der Klasse TransPullSubscription mit den Eigenschaften, die ein Pull-Abonnement definieren.

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)
Attributes

Erhält oder setzt die Attribute einer transaktionalen Publikation, die vom Abonnement unterstützt werden.

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)
DtsPackageLocation

Erhält oder setzt den Speicherort des Data Transformation Services (DTS)-Pakets, das mit einem transformierbaren Abonnement verwendet wird.

DtsPackageName

Erhält oder setzt den Namen des Data Transformation Services (DTS)-Pakets, der in einem transformierbaren Abonnement verwendet wird.

DtsPackagePassword

Erhält oder setzt das Passwort, das mit einem transformierbaren Abonnement verwendet wird.

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)
IsExistingObject

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

(Geerbt von ReplicationObject)
IsMemoryOptimized

Stellt ein Pull-Abonnement für eine transaktionale 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)
LastSummaryDateTime

Es bekommt das Datum und die Uhrzeit, an der die letzte Synchronisation abgeschlossen wurde.

MemoryOptimized

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

Name

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

(Geerbt von PullSubscription)
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)
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

Erhält oder setzt das Aktualisierungsverhalten des Abonnements.

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 Verteilungs-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)
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)
UserData

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

(Geerbt von ReplicationObject)
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)
DoUpdateMemoryOptimizedProperty(String)

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

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()

Markiert das 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 Verteilungs-Agent-Job zu stoppen, der gerade das Abonnement synchronisiert.

SynchronizeWithJob()

Es startet den Agentenjob, um das Abonnement zu synchronisieren.

Gilt für:

Weitere Informationen