MergePullSubscription Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un abonnement par extraction de données vers une publication de fusion.
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
- Héritage
Exemples
// 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
Remarques
Pour un abonnement par extraction de données, le Agent de fusion s’exécute sur l’Abonné.
Cohérence de thread
Tous les membres statiques publics (Shared
dans Microsoft Visual Basic) de ce type sont sécurisés pour les opérations multithread. Tous les membres de l'instance ne sont pas garantis comme étant thread-safe.
Constructeurs
MergePullSubscription() |
Crée une instance de la classe MergePullSubscription. |
MergePullSubscription(String, String, String, String, ServerConnection) |
Initialise une nouvelle instance de la classe avec la MergePullSubscription base de données, le serveur de publication, la publication et la connexion de l’Abonné spécifiés. |
MergePullSubscription(String, String, String, String, ServerConnection, Boolean) |
Crée une nouvelle instance de la classe MergePullSubscription avec la base de données, le serveur de publication, la publication, la connexion de l'Abonné spécifiés et détermine si le travail de l'agent est créé. |
Propriétés
AgentJobId |
Obtient l'ID du travail de l'agent utilisé pour synchroniser l'abonnement. (Hérité de PullSubscription) |
AgentOffload |
Obtient ou définit si l’Agent de synchronisation s’exécute sur un ordinateur autre que celui sur lequel le travail de l’agent a été créé. Cette propriété n’est plus prise en charge pour les distributeurs exécutant Microsoft SQL Server 2005 et versions ultérieures. (Hérité de PullSubscription) |
AgentOffloadServer |
Obtient ou définit le nom de l'ordinateur distant où l'agent s'exécute lors de l'utilisation de l'activation de l'agent distant. (Hérité de PullSubscription) |
AgentSchedule |
Obtient la planification pour le travail de l'Agent utilisé pour synchroniser l'abonnement. (Hérité de PullSubscription) |
AltSnapshotFolder |
Obtient ou définit l'emplacement où les fichiers d'instantanés de publication sont obtenus lorsque l'emplacement par défaut de l'instantané sur le serveur de distribution n'est pas utilisé. (Hérité de PullSubscription) |
CachePropertyChanges |
Obtient ou définit s'il faut mettre en cache des modifications effectuées sur les propriétés de réplication ou les appliquer immédiatement. (Hérité de ReplicationObject) |
ConnectionContext |
Obtient ou définit la connexion à une instance de Microsoft SQL Server. (Hérité de ReplicationObject) |
CreateSyncAgentByDefault |
Obtient ou définit si le travail de l'agent utilisé pour démarrer l'Agent de réplication pour la synchronisation de l'abonnement est créé en même temps que l'abonnement. (Hérité de PullSubscription) |
DatabaseName |
Obtient ou définit le nom de la base de données d'abonnement. (Hérité de PullSubscription) |
Description |
Obtient ou définit une description textuelle de l'abonnement par extraction. (Hérité de PullSubscription) |
DistributorName |
Obtient ou définit l’instance de Microsoft SQL Server qui est le serveur de distribution et distribue la publication à laquelle l’abonnement s’abonne. (Hérité de PullSubscription) |
DistributorSecurity |
Obtient le contexte de sécurité utilisé pour se connecter au serveur de distribution. (Hérité de PullSubscription) |
DynamicSnapshotLocation |
Obtient ou définit l'emplacement de fichier pour les fichiers d'instantanés spécifiques à l'abonnement lorsque la publication utilise un filtre de lignes paramétrable. |
EnabledForSynchronizationManager |
Spécifie s'il est possible de synchroniser l'abonnement à l'aide du Gestionnaire de synchronisation Windows. (Hérité de PullSubscription) |
FtpAddress |
Obtient ou définit l'adresse IP du serveur FTP. (Hérité de PullSubscription) |
FtpLogin |
Obtient ou définit l'ouverture de session FTP. (Hérité de PullSubscription) |
FtpPassword |
Obtient ou définit le mot de passe FTP. (Hérité de PullSubscription) |
FtpPort |
Obtient ou définit le numéro de port du serveur FTP. (Hérité de PullSubscription) |
HostName |
Obtient ou définit la valeur fournie à la fonction HOST_NAME lorsque cette fonction est utilisée dans le filtre de lignes paramétrable qui définit la partition de données de l’Abonné. |
InternetLogin |
Obtient ou définit la connexion utilisée avec l'authentification HTTP de base lors de la connexion au serveur Web pendant la synchronisation Web. |
InternetPassword |
Obtient ou définit le mot de passe pour la valeur InternetLogin fournie lors de la connexion au serveur Web pendant la synchronisation Web. |
InternetSecurityMode |
Obtient ou définit la méthode d’authentification HTTP utilisée lors de la connexion au serveur Web pendant la synchronisation Web. |
InternetTimeout |
Obtient ou définit le délai d'attente HTTP en secondes lors de la connexion au serveur Web pendant la synchronisation Web. |
InternetUrl |
Obtient ou définit l'URL à utiliser lors de la synchronisation de l'abonnement à l'aide de la synchronisation Web. |
IsExistingObject |
Détermine si l'objet existe ou non sur le serveur. (Hérité de ReplicationObject) |
IsMemoryOptimized |
Représente un abonnement par extraction de données vers une publication de fusion. (Hérité de PullSubscription) |
LastAgentDateTime |
Obtient la date et l'heure de la dernière synchronisation de l'abonnement. (Hérité de PullSubscription) |
LastAgentStatus |
Obtient l'état de la synchronisation la plus récente de l'abonnement. (Hérité de PullSubscription) |
LastAgentSummary |
Obtient un résumé du résultat de la synchronisation la plus récente de l'abonnement. (Hérité de PullSubscription) |
Name |
Obtient le nom généré pour l'abonnement par extraction. (Hérité de PullSubscription) |
Priority |
Obtient ou définit le poids de cet abonnement serveur par rapport aux autres abonnements serveur lors de la résolution de conflits entre les abonnements. |
PublicationDBName |
Obtient ou définit le nom de la base de données de publication. (Hérité de PullSubscription) |
PublicationName |
Obtient ou définit le nom de la publication à laquelle l'abonnement s'abonne. (Hérité de PullSubscription) |
PublisherName |
Obtient ou définit le nom du serveur de publication. (Hérité de PullSubscription) |
PublisherSecurity |
Obtient ou définit le contexte de sécurité utilisé par l'Agent de synchronisation lors de la connexion au serveur de publication. (Hérité de PullSubscription) |
SecureFtpPassword |
Obtient ou définit le mot de passe sécurisé de l'ouverture de session utilisée pour la connexion au serveur FTP. (Hérité de PullSubscription) |
SecureInternetPassword |
Définit le mot de passe (sous la forme d'un objet SecureString) utilisé lors de la connexion au serveur Web à l'aide de l'Authentification HTTP de base. |
SqlServerName |
Obtient le nom de l’instance Microsoft SQL Server à laquelle cet objet est connecté. (Hérité de ReplicationObject) |
SubscriberSecurity |
Obtient le contexte de sécurité utilisé par l'Agent de synchronisation lors de la connexion à l'Abonné. (Hérité de PullSubscription) |
SubscriberType |
Obtient ou définit si l'abonnement est un abonnement serveur ou client. |
SubscriptionId |
Obtient la valeur d'ID de l'abonnement. (Hérité de PullSubscription) |
SubscriptionType |
Détermine si l'inscription de l'abonnement est pour un abonnement par émission de données, par extraction de données ou anonyme. (Hérité de PullSubscription) |
SynchronizationAgent |
Obtient un objet qui représente une instance de l'Agent de fusion qui peut être utilisé pour synchroniser l'abonnement. |
SynchronizationAgentProcessSecurity |
Obtient le contexte de sécurité utilisé pour spécifier le compte Microsoft Windows sous lequel le travail de l’Agent de synchronisation s’exécute pour synchroniser l’abonnement. (Hérité de PullSubscription) |
SyncType |
Obtient ou définit la manière dont les données sont initialisées sur l'Abonné. |
Type |
Obtient ou définit le type de publication. (Hérité de PullSubscription) |
UseFtp |
Obtient ou définit si les fichiers d'instantanés nécessaires à l'initialisation de l'abonnement par extraction sont accessibles par l'Agent de synchronisation à l'aide de FTP (File Transfer Protocol). (Hérité de PullSubscription) |
UseInteractiveResolver |
Obtient ou définit si le programme de résolution interactif est utilisé pendant le processus de synchronisation. |
UserData |
Obtient ou définit une propriété d'objet qui permet aux utilisateurs d'attacher leurs propres données à l'objet. (Hérité de ReplicationObject) |
UseWebSynchronization |
Obtient ou définit si l'abonnement est synchronisé à l'aide de la synchronisation Web. |
WorkingDirectory |
Obtient ou définit le chemin d'accès du répertoire sur l'Abonné utilisé pour stocker temporairement et décompresser des fichiers d'instantanés téléchargés. (Hérité de PullSubscription) |
Méthodes
CheckValidCreation() |
Vérifie la création de la réplication valide. (Hérité de ReplicationObject) |
CheckValidDefinition(Boolean) |
Indique si la définition est valide. (Hérité de PullSubscription) |
CommitPropertyChanges() |
Envoie toutes les instructions de modification de propriété mises en cache à l’instance de Microsoft SQL Server. (Hérité de ReplicationObject) |
Create() |
Crée l'abonnement par extraction de données sur l'Abonné. (Hérité de PullSubscription) |
CustomEnabledForSyncMgr(StringBuilder) |
Active la publication personnalisée pour le gestionnaire synchrone. (Hérité de PullSubscription) |
Decouple() |
Dissocie l'objet de réplication référencé du serveur. (Hérité de ReplicationObject) |
EnumSynchronizationPartners() |
Retourne les autres partenaires de synchronisation. |
GetChangeCommand(StringBuilder, String, String) |
Retourne la commande de modification de la réplication. (Hérité de ReplicationObject) |
GetCreateCommand(StringBuilder, Boolean, ScriptOptions) |
Retourne la commande de création de la réplication. (Hérité de ReplicationObject) |
GetDropCommand(StringBuilder, Boolean) |
Retourne la commande de suppression de la réplication. (Hérité de ReplicationObject) |
InitMemberVariables(String, String, String, String, Boolean) |
Initialise les variables des membres. (Hérité de PullSubscription) |
InternalRefresh(Boolean) |
Initialise une actualisation interne de la réplication. (Hérité de ReplicationObject) |
LastAgentJobHistoryInfo() |
Retourne des informations sur le dernier travail d'Agent de synchronisation exécuté. (Hérité de PullSubscription) |
Load() |
Charge les propriétés d'un objet existant à partir du serveur. (Hérité de ReplicationObject) |
LoadProperties() |
Charge les propriétés d'un objet existant à partir du serveur. (Hérité de ReplicationObject) |
Refresh() |
Recharge les propriétés de l'objet. (Hérité de ReplicationObject) |
Reinitialize(Boolean) |
Signale l'abonnement par extraction de fusion pour la réinitialisation. |
Remove() |
Supprime l'abonnement par extraction. (Hérité de PullSubscription) |
Script(ScriptOptions) |
Retourne un script Transact-SQL pour créer ou supprimer l’abonnement par extraction en fonction du paramètre de propriété actuel de l’objet PullSubscription . (Hérité de PullSubscription) |
StopSynchronizationJob() |
Tente d'arrêter un travail de l'Agent de fusion en cours d'exécution qui synchronise actuellement l'abonnement. |
SynchronizeWithJob() |
Démarre le travail de l'agent de façon asynchrone pour synchroniser l'abonnement par extraction. |