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 Pullabonnement einer Mergeveröffentlichung 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
Bei einem Pullabonnement wird die Merge-Agent beim 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
MergePullSubscription() |
Erstellt eine neue Instanz der MergePullSubscription-Klasse. |
MergePullSubscription(String, String, String, String, ServerConnection) |
Initialisiert eine neue Instanz der -Klasse mit der MergePullSubscription angegebenen Datenbank-, Verleger-, Veröffentlichungs- und Abonnentenverbindung. |
MergePullSubscription(String, String, String, String, ServerConnection, Boolean) |
Erstellt eine neue Instanz der MergePullSubscription-Klasse mit der angegebenen Verbindung zur Datenbank, zum Verleger, zur Veröffentlichung und zum Abonnenten sowie mit Informationen dazu, ob der Agentauftrag erstellt wird. |
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 Distributoren, 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) |
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 Publikation, für die das Abonnement abonniert ist, oder legt diese fest. (Geerbt von PullSubscription) |
DistributorSecurity |
Ruft den Sicherheitskontext ab, mit dem eine Verbindung zum Verteiler hergestellt wird. (Geerbt von PullSubscription) |
DynamicSnapshotLocation |
Ruft den Speicherort der abonnementspezifischen Momentaufnahmedateien ab, wenn die Veröffentlichung einen parametrisierten Zeilenfilter verwendet, oder legt ihn 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) |
HostName |
Ruft den Wert ab, der für die HOST_NAME-Funktion bereitgestellt wird, wenn diese Funktion im parametrisierten Zeilenfilter verwendet wird, der die Datenpartition des Abonnenten definiert, oder legt diesen fest. |
InternetLogin |
Ruft den Anmeldenamen ab, der bei der HTTP-Standardauthentifizierung beim Herstellen einer Verbindung mit dem Webserver während der Websynchronisierung verwendet wird, oder legt ihn fest. |
InternetPassword |
Ruft beim Herstellen einer Verbindung mit dem Webserver während der Websynchronisierung das Kennwort für den angegebenen InternetLogin-Wert ab oder legt es fest. |
InternetSecurityMode |
Ruft die HTTP-Authentifizierungsmethode ab, die beim Herstellen einer Verbindung mit dem Webserver während der Websynchronisierung verwendet wird, oder legt diese fest. |
InternetTimeout |
Ruft beim Herstellen einer Verbindung mit dem Webserver während der Websynchronisierung das HTTP-Timeout in Sekunden ab oder legt es fest. |
InternetUrl |
Ruft die URL ab, die beim Synchronisieren des Abonnements mit der Websynchronisierung verwendet werden soll, oder legt sie fest. |
IsExistingObject |
Ruft ab, ob das Objekt auf dem Server vorhanden ist. (Geerbt von ReplicationObject) |
IsMemoryOptimized |
Stellt ein Pullabonnement einer Mergeverö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) |
Name |
Ruft den für das Pullabonnement generierten Namen ab. (Geerbt von PullSubscription) |
Priority |
Ruft die Gewichtung dieses Serverabonnements im Vergleich zu anderen Serverabonnements ab, wenn Konflikte zwischen Abonnements gelöst werden, oder legt sie fest. |
PublicationDBName |
Ruft den Namen der Veröffentlichungsdatenbank ab oder legt ihn fest. (Geerbt von PullSubscription) |
PublicationName |
Ruft den Namen der Publikation 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) |
SecureInternetPassword |
Legt das Kennwort (als SecureString-Objekt) fest, das beim Herstellen einer Verbindung mit dem Webserver mithilfe der HTTP-Standardauthentifizierung verwendet wird. |
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 ab oder legt fest, ob das Abonnement ein Server- oder ein Clientabonnement ist. |
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 Merge-Agents darstellt, der zum Synchronisieren des Abonnements verwendet werden kann. |
SynchronizationAgentProcessSecurity |
Ruft den Sicherheitskontext ab, der verwendet wird, um das Microsoft Windows-Konto anzugeben, unter dem der Synchronisierungs-Agent-Auftrag ausgeführt wird, um das Abonnement zu synchronisieren. (Geerbt von PullSubscription) |
SyncType |
Ruft die Art und Weise ab, in der Daten auf dem Abonnenten initialisiert werden, oder legt sie fest. |
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) |
UseInteractiveResolver |
Ruft ab oder legt fest, ob der interaktive Konfliktlöser während des Synchronisierungsvorgangs verwendet wird. |
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) |
UseWebSynchronization |
Ruft ab oder legt fest, ob das Abonnement mithilfe der Websynchronisierung synchronisiert wird. |
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) |
EnumSynchronizationPartners() |
Gibt die alternativen Synchronisierungspartner zurück. |
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(Boolean) |
Markiert das Mergepullabonnement 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 gerade ausgeführten Merge-Agent-Auftrag zu beenden, der zurzeit das Abonnement synchronisiert. |
SynchronizeWithJob() |
Startet den Agentauftrag (asynchron) zur Synchronisierung des Pullabonnements. |