Freigeben über


TransPullSubscription Klasse

Definition

Stellt ein Pullabonnement für eine Transaktionsveröffentlichung 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

Bei einem Pullabonnement wird die Verteilungs-Agent auf dem 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

TransPullSubscription()

Erstellt eine neue Instanz der TransPullSubscription-Klasse.

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

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

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

Erstellt eine neue Instanz der TransPullSubscription-Klasse mit den Eigenschaften, die ein Pullabonnement definieren, und Angaben darüber, ob der Agent-Auftrag für das Abonnement erstellt werden soll.

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

Ruft die Attribute einer Transaktionsveröffentlichung ab, die vom Abonnement unterstützt werden, oder legt sie fest.

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 Veröffentlichung, für die das Abonnement abonniert wird, oder legt diese fest.

(Geerbt von PullSubscription)
DistributorSecurity

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

(Geerbt von PullSubscription)
DtsPackageLocation

Ruft den Speicherort des mit einem transformierbaren Abonnement verwendeten DTS (Data Transformation Services)-Pakets ab oder legt ihn fest.

DtsPackageName

Ruft den in einem transformierbaren Abonnement verwendeten Namen eines DTS (Data Transformation Services)-Pakets ab oder legt ihn fest.

DtsPackagePassword

Ruft das Kennwort ab, das mit einem transformierbaren Abonnement verwendet wird, oder legt es 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)
IsExistingObject

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

(Geerbt von ReplicationObject)
IsMemoryOptimized

Stellt ein Pullabonnement für eine Transaktionsverö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)
LastSummaryDateTime

Ruft das Datum und die Uhrzeit der letzten Synchronisierung ab.

MemoryOptimized

Stellt ein Pullabonnement für eine Transaktionsveröffentlichung dar.

Name

Ruft den für das Pullabonnement generierten Namen ab.

(Geerbt von PullSubscription)
PublicationDBName

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

(Geerbt von PullSubscription)
PublicationName

Ruft den Namen der Veröffentlichung 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)
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 das Aktualisierungsverhalten des Abonnements ab oder legt es fest.

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 Verteilungs-Agents darstellt, der zum Synchronisieren des Abonnements verwendet werden kann.

SynchronizationAgentProcessSecurity

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

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

Stellt ein Pullabonnement für eine Transaktionsveröffentlichung dar.

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

Markiert das Pullabonnement 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 ausgeführten Verteilungs-Agentauftrag zu beenden, der das Abonnement gerade synchronisiert.

SynchronizeWithJob()

Startet den Agent-Auftrag zur Synchronisierung des Abonnements.

Gilt für:

Weitere Informationen