TransPullSubscription Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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. |