MergePullSubscription Classe

Définition

Représente un abonnement pull à une publication fusionnée.

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
MergePullSubscription

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 pull, l’Agent de fusion s’exécute chez l’abonné.

Sécurité des threads

Tout membre statique public (Shareddans Microsoft Visual Basic) de ce type est sûr pour les opérations multithreads. Il n'y a aucune garantie que les membres d’instance soient thread-safe.

Constructeurs

Nom Description
MergePullSubscription()

Crée une instance de la classe MergePullSubscription.

MergePullSubscription(String, String, String, String, ServerConnection, Boolean)

Crée une nouvelle instance de la MergePullSubscription classe avec la base de données spécifiée, Publisher, publication, connexion Abonné, et si le job agent est créé.

MergePullSubscription(String, String, String, String, ServerConnection)

Initialise une nouvelle instance de la MergePullSubscription classe avec la base de données spécifiée, le Publisher, la publication et la connexion Subscriber.

Propriétés

Nom Description
AgentJobId

Obtient l’ID du job 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 où la tâche de l’agent a été créée. Cette propriété n’est plus prise en charge par les distributeurs fonctionnant sous 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’activation de l’agent à distance.

(Hérité de PullSubscription)
AgentSchedule

Obtient le planning du job 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 du snapshot au Distributeur n’est pas utilisé.

(Hérité de PullSubscription)
CachePropertyChanges

Obtient ou définit s’il faut mettre en cache les modifications apportées aux propriétés de réplication ou les appliquer immédiatement.

(Hérité de ReplicationObject)
ConnectionContext

Obtient ou définit la connexion vers une instance de Microsoft SQL Server.

(Hérité de ReplicationObject)
CreateSyncAgentByDefault

Obtient ou définit si le job agent utilisé pour lancer l’agent de réplication afin de synchroniser l’abonnement est créé lors de la création de l’abonnement.

(Hérité de PullSubscription)
DatabaseName

Obtient ou définit le nom de la base de données par abonnement.

(Hérité de PullSubscription)
Description

Obtient ou définit une description textuelle de l’abonnement à la tire.

(Hérité de PullSubscription)
DistributorName

Obtient ou définit l’instance de Microsoft SQL Server qui est le distributeur et distribue la publication à laquelle l’abonnement est abonné.

(Hérité de PullSubscription)
DistributorSecurity

Obtens le contexte de sécurité utilisé pour se connecter au distributeur.

(Hérité de PullSubscription)
DynamicSnapshotLocation

Obtient ou définit l’emplacement du fichier pour les fichiers snapshot spécifiques à l’abonnement lorsque la publication utilise un filtre de lignes paramétrés.

EnabledForSynchronizationManager

Précise si l’abonnement peut être synchronisé ou non via le 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 règle la connexion 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étrés qui définit la partition de données de l’abonné.

InternetLogin

Obtient ou définit la connexion utilisée avec l’authentification HTTP Basic lors de la connexion au serveur Web lors de la synchronisation Web.

InternetPassword

Obtient ou définit le mot de passe pour la valeur fournie InternetLogin lors de la connexion au serveur Web lors de la synchronisation Web.

InternetSecurityMode

Obtient ou définit la méthode d’authentification HTTP utilisée lors de la connexion au serveur Web lors de la synchronisation Web.

InternetTimeout

Obtient ou définit le délai HTTP en quelques secondes lors de la connexion au serveur Web lors de la synchronisation Web.

InternetUrl

Obtient ou définit l’URL à utiliser lors de la synchronisation de l’abonnement via la synchronisation Web.

IsExistingObject

Ça détermine si l’objet existe sur le serveur ou non.

(Hérité de ReplicationObject)
IsMemoryOptimized

Représente un abonnement pull à une publication fusionnée.

(Hérité de PullSubscription)
LastAgentDateTime

Il obtient la date et l’heure de la dernière synchronisation de l’abonnement.

(Hérité de PullSubscription)
LastAgentStatus

Obtient le statut 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

Ça génère le nom pour l’abonnement de tirage.

(Hérité de PullSubscription)
Priority

Obtient ou définit la pondération de cet abonnement serveur par rapport aux autres abonnements lors de la résolution des conflits entre 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 est abonné.

(Hérité de PullSubscription)
PublisherName

Obtient ou définit le nom du Publisher.

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

(Hérité de PullSubscription)
SecureFtpPassword

Obtient ou définit le mot de passe sécurisé pour la connexion utilisée pour se connecter au serveur FTP.

(Hérité de PullSubscription)
SecureInternetPassword

Définit le mot de passe (en tant qu’objet SecureString ) utilisé lors de la connexion au serveur Web via l’authentification HTTP Basic.

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

Ça obtient la valeur de l’ID d’abonnement.

(Hérité de PullSubscription)
SubscriptionType

Ça détermine si l’inscription à l’abonnement est pour un abonnement push, pull ou anonyme.

(Hérité de PullSubscription)
SynchronizationAgent

Obtient un objet qui représente une instance du Agent de fusion pouvant être utilisée pour synchroniser l’abonnement.

SynchronizationAgentProcessSecurity

Obtient le contexte de sécurité utilisé pour spécifier le compte Microsoft Windows sous lequel le job 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 chez l’abonné.

Type

Obtient ou définit le type de publication.

(Hérité de PullSubscription)
UseFtp

Obtient ou définit si les fichiers instantanés nécessaires à l’initialisation de l’abonnement pull sont ou non accessibles par l’Agent de Synchronisation à l’aide du protocole de transfert de fichiers (FTP).

(Hérité de PullSubscription)
UseInteractiveResolver

Obtient ou définit si le Résolveur Interactif est utilisé pendant le processus de synchronisation.

UserData

Obtient ou définit une propriété 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é via la synchronisation Web.

WorkingDirectory

Obtient ou définit le chemin du répertoire à l’abonné utilisé pour stocker et décompresser temporairement les fichiers instantanés téléchargés.

(Hérité de PullSubscription)

Méthodes

Nom Description
CheckValidCreation()

Vérifie la création valide de la réplication.

(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 pull sur l’abonné.

(Hérité de PullSubscription)
CustomEnabledForSyncMgr(StringBuilder)

Permet la publication personnalisée pour le gestionnaire synchrone.

(Hérité de PullSubscription)
Decouple()

Découple l’objet de réplication référencé du serveur.

(Hérité de ReplicationObject)
EnumSynchronizationPartners()

Retourne les partenaires de synchronisation alternatifs

GetChangeCommand(StringBuilder, String, String)

Retourne la commande de changement de la réplication.

(Hérité de ReplicationObject)
GetCreateCommand(StringBuilder, Boolean, ScriptOptions)

Retourne la commande create de la réplication.

(Hérité de ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

Retourne la commande drop de la réplication.

(Hérité de ReplicationObject)
InitMemberVariables(String, String, String, String, Boolean)

Initialise les variables membres.

(Hérité de PullSubscription)
InternalRefresh(Boolean)

Initie un rafraîchissement interne à partir de la réplication.

(Hérité de ReplicationObject)
LastAgentJobHistoryInfo()

Restitue les informations sur le dernier job de l’agent de synchronisation qui a été exécuté.

(Hérité de PullSubscription)
Load()

Charge les propriétés d’un objet existant depuis le serveur.

(Hérité de ReplicationObject)
LoadProperties()

Charge les propriétés d’un objet existant depuis le serveur.

(Hérité de ReplicationObject)
Refresh()

Recharge les propriétés de l’objet.

(Hérité de ReplicationObject)
Reinitialize(Boolean)

Marque l’abonnement de fusion pour la réinitialisation.

Remove()

Ça supprime l’abonnement de tirage.

(Hérité de PullSubscription)
Script(ScriptOptions)

Renvoie un script Transact-SQL pour créer ou supprimer l’abonnement pull en fonction du paramètre de propriété actuel de l’objet PullSubscription .

(Hérité de PullSubscription)
StopSynchronizationJob()

Tente d’arrêter un travail 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 pull.

S’applique à

Voir aussi