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 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
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. |