Partager via


TransPullSubscription Classe

Définition

Représente un abonnement par extraction à une publication transactionnelle.

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
Héritage
TransPullSubscription

Exemples

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

Remarques

Pour un abonnement par extraction, le Agent de distribution 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

TransPullSubscription()

Crée une instance de la classe TransPullSubscription.

TransPullSubscription(String, String, String, String, ServerConnection)

Crée une nouvelle instance de la classe TransPullSubscription avec les propriétés qui définissent un abonnement par extraction.

TransPullSubscription(String, String, String, String, ServerConnection, Boolean)

Crée une nouvelle instance de la classe TransPullSubscription avec les propriétés qui définissent un abonnement par extraction et détermine s'il faut créer le travail de l'agent pour l'abonnement.

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 ou non 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)
Attributes

Obtient ou définit les attributs d'une publication transactionnelle pris en charge par l'abonnement.

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)
DtsPackageLocation

Obtient ou définit l'emplacement du package DTS (Data Transformation Services) utilisé avec un abonnement transformable.

DtsPackageName

Obtient ou définit le nom du package DTS (Data Transformation Services) utilisé dans un abonnement transformable.

DtsPackagePassword

Obtient ou définit le mot de passe utilisé avec un abonnement transformable.

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)
IsExistingObject

Détermine si l'objet existe ou non sur le serveur.

(Hérité de ReplicationObject)
IsMemoryOptimized

Représente un abonnement par extraction à une publication transactionnelle.

(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)
LastSummaryDateTime

Obtient la date et l'heure de la dernière synchronisation effectuée.

MemoryOptimized

Représente un abonnement par extraction à une publication transactionnelle.

Name

Obtient le nom généré pour l'abonnement par extraction.

(Hérité de PullSubscription)
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)
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 le comportement de mise à jour de l'abonnement.

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 distribution 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)
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)
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)
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)
DoUpdateMemoryOptimizedProperty(String)

Représente un abonnement par extraction à une publication transactionnelle.

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()

Signale l'abonnement par extraction 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 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 de l'Agent de distribution en cours d'exécution qui synchronise actuellement l'abonnement.

SynchronizeWithJob()

Démarre le travail de l'Agent pour synchroniser l'abonnement.

S’applique à

Voir aussi