MergePullSubscription 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 Merge-Publikation 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
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
Für ein Pull-Abonnement läuft der Merge-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 |
|---|---|
| MergePullSubscription() |
Erstellt eine neue Instanz der MergePullSubscription Klasse. |
| MergePullSubscription(String, String, String, String, ServerConnection, Boolean) |
Erstellt eine neue Instanz der MergePullSubscription Klasse mit der angegebenen Datenbank, Publisher, Veröffentlichung, Subscriber-Verbindung und ob der Agent-Job erstellt wird. |
| MergePullSubscription(String, String, String, String, ServerConnection) |
Initialisiert eine neue Instanz der MergePullSubscription Klasse mit der angegebenen Datenbank, Publisher, Veröffentlichung und Subscriber-Verbindung. |
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) |
| 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) |
| DynamicSnapshotLocation |
Erhält oder setzt den Dateistandort für die abonnementspezifischen Snapshot-Dateien, wenn die Veröffentlichung einen parametrisierten Zeilenfilter verwendet. |
| 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) |
| HostName |
Erhält oder setzt den Wert, der der HOST_NAME Funktion zugeordnet wird, wenn diese Funktion im parametrisierten Zeilenfilter verwendet wird, der die Datenpartition des Abonnenten definiert. |
| InternetLogin |
Erhält oder setzt die mit HTTP Basic Authentication verwendete Login, wenn sie sich während der Websynchronisation mit dem Webserver verbindet. |
| InternetPassword |
Erhält oder setzt das Passwort für den angegebenen InternetLogin Wert beim Verbinden mit dem Webserver während der Websynchronisation. |
| InternetSecurityMode |
Erhält oder setzt die HTTP-Authentifizierungsmethode, die beim Verbinden mit dem Webserver während der Websynchronisation verwendet wird. |
| InternetTimeout |
Erhält oder setzt das HTTP-Timeout innerhalb von Sekunden beim Verbinden mit dem Webserver während der Websynchronisation. |
| InternetUrl |
Erhält oder stellt die URL ein, die beim Synchronisieren des Abonnements mit Websynchronisation verwendet wird. |
| IsExistingObject |
Es bekommt, ob das Objekt auf dem Server existiert oder nicht. (Geerbt von ReplicationObject) |
| IsMemoryOptimized |
Stellt ein Pull-Abonnement für eine Merge-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) |
| Name |
Erhält den Namen, der für das Pull-Abonnement generiert wird. (Geerbt von PullSubscription) |
| Priority |
Erhält oder setzt die Gewichtung dieses Server-Abonnements im Vergleich zu anderen Server-Abonnements, wenn Konflikte zwischen Abonnements gelöst werden. |
| 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) |
| SecureInternetPassword |
Legt das Passwort (als SecureString Objekt) fest, das beim Verbinden mit dem Webserver mittels HTTP Basic Authentication verwendet wird. |
| 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 |
Es gibt oder bestimmt, ob das Abonnement ein Server- oder ein Client-Abonnement ist. |
| 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 Merge-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) |
| SyncType |
Erhält oder legt die Art und Weise fest, wie Daten beim Abonnenten initialisiert werden. |
| 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) |
| UseInteractiveResolver |
Erhält oder setzt fest, ob der Interactive Resolver während des Synchronisationsprozesses verwendet wird. |
| UserData |
Erhält oder setzt eine Objekt-Eigenschaft, die es Nutzern erlaubt, eigene Daten an das Objekt anzuhängen. (Geerbt von ReplicationObject) |
| UseWebSynchronization |
Erhält oder legt fest, ob das Abonnement mittels Websynchronisation synchronisiert ist. |
| 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) |
| EnumSynchronizationPartners() |
gibt die alternativen Synchronisationspartner zurück |
| 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(Boolean) |
Markiert das Merge-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 Merge-Agent-Job zu stoppen, der gerade das Abonnement synchronisiert. |
| SynchronizeWithJob() |
Startet den Agent-Job asynchron, um das Pull-Abonnement zu synchronisieren. |