TransPullSubscription Classe

Definizione

Rappresenta una sottoscrizione pull di una pubblicazione transazionale.

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
Ereditarietà
TransPullSubscription

Esempio

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

Commenti

Per una sottoscrizione pull, la agente di distribuzione viene eseguita nel Sottoscrittore.

Thread safety

Tutti i membri statici pubblici (Shared in Microsoft Visual Basic) di questo tipo sono sicuri per le operazioni multithreaded. Non è invece garantita la sicurezza dei membri dell'istanza.

Costruttori

TransPullSubscription()

Crea una nuova istanza della classe TransPullSubscription.

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

Crea una nuova istanza della classe TransPullSubscription con le proprietà che definiscono una sottoscrizione pull.

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

Crea una nuova istanza della classe TransPullSubscription con le proprietà che definiscono una sottoscrizione pull e un valore che indica se creare il processo dell'agente per la sottoscrizione.

Proprietà

AgentJobId

Ottiene l'ID del processo dell'agente utilizzato per sincronizzare la sottoscrizione.

(Ereditato da PullSubscription)
AgentOffload

Ottiene o imposta un valore che indica se l'agente di sincronizzazione viene eseguito in un computer diverso da quello in cui è stato creato il processo dell'agente. Questa proprietà non è più supportata per i distributori che eseguono Microsoft SQL Server 2005 e versioni successive.

(Ereditato da PullSubscription)
AgentOffloadServer

Ottiene o imposta il nome del computer remoto in cui viene eseguito l'agente quando si utilizza l'attivazione remota degli agenti.

(Ereditato da PullSubscription)
AgentSchedule

Ottiene la pianificazione per il processo dell'agente utilizzato per sincronizzare la sottoscrizione.

(Ereditato da PullSubscription)
AltSnapshotFolder

Ottiene o imposta il percorso in cui scaricare i file di snapshot della pubblicazione quando non viene utilizzato il percorso predefinito nel server di distribuzione.

(Ereditato da PullSubscription)
Attributes

Ottiene o imposta gli attributi di una pubblicazione transazionale supportata dalla sottoscrizione.

CachePropertyChanges

Ottiene o imposta un valore che indica se memorizzare nella cache o se applicare immediatamente le modifiche apportate alle proprietà di replica.

(Ereditato da ReplicationObject)
ConnectionContext

Ottiene o imposta la connessione a un'istanza di Microsoft SQL Server.

(Ereditato da ReplicationObject)
CreateSyncAgentByDefault

Ottiene o imposta un valore che indica se viene creato il processo dell'agente utilizzato per avviare l'agente di replica per sincronizzare la sottoscrizione appena creata.

(Ereditato da PullSubscription)
DatabaseName

Ottiene o imposta il nome del database di sottoscrizione.

(Ereditato da PullSubscription)
Description

Ottiene o imposta una descrizione in formato testo della sottoscrizione pull.

(Ereditato da PullSubscription)
DistributorName

Ottiene o imposta l'istanza di Microsoft SQL Server che è il server di distribuzione e distribuisce la pubblicazione a cui sottoscrive la sottoscrizione.

(Ereditato da PullSubscription)
DistributorSecurity

Ottiene il contesto di sicurezza utilizzato per la connessione al server di distribuzione.

(Ereditato da PullSubscription)
DtsPackageLocation

Ottiene o imposta il percorso del pacchetto DTS (Data Transformation Services) utilizzato con una sottoscrizione trasformabile.

DtsPackageName

Ottiene o imposta il nome del pacchetto DTS (Data Transformation Services) utilizzato in una sottoscrizione trasformabile.

DtsPackagePassword

Ottiene o imposta la password usata con una sottoscrizione trasformabile.

EnabledForSynchronizationManager

Specifica se è possibile sincronizzare la sottoscrizione tramite Gestione sincronizzazione Microsoft Windows.

(Ereditato da PullSubscription)
FtpAddress

Ottiene o imposta l'indirizzo IP del server FTP.

(Ereditato da PullSubscription)
FtpLogin

Ottiene o imposta l'account di accesso FTP.

(Ereditato da PullSubscription)
FtpPassword

Ottiene o imposta la password FTP.

(Ereditato da PullSubscription)
FtpPort

Ottiene o imposta il numero di porta del server FTP.

(Ereditato da PullSubscription)
IsExistingObject

Ottiene un valore che indica se l'oggetto esiste nel server.

(Ereditato da ReplicationObject)
IsMemoryOptimized

Rappresenta una sottoscrizione pull di una pubblicazione transazionale.

(Ereditato da PullSubscription)
LastAgentDateTime

Ottiene la data e l'ora dell'ultima sincronizzazione della sottoscrizione.

(Ereditato da PullSubscription)
LastAgentStatus

Ottiene lo stato della sincronizzazione più recente della sottoscrizione.

(Ereditato da PullSubscription)
LastAgentSummary

Ottiene un riepilogo dei risultati della sincronizzazione più recente della sottoscrizione.

(Ereditato da PullSubscription)
LastSummaryDateTime

Ottiene la data e l'ora di completamento dell'ultima sincronizzazione.

MemoryOptimized

Rappresenta una sottoscrizione pull di una pubblicazione transazionale.

Name

Ottiene il nome generato per la sottoscrizione pull.

(Ereditato da PullSubscription)
PublicationDBName

Ottiene o imposta il nome del database di pubblicazione.

(Ereditato da PullSubscription)
PublicationName

Ottiene o imposta il nome della pubblicazione sottoscritta dalla sottoscrizione.

(Ereditato da PullSubscription)
PublisherName

Ottiene o imposta il nome del server di pubblicazione.

(Ereditato da PullSubscription)
PublisherSecurity

Ottiene o imposta il contesto di sicurezza utilizzato dall'agente di sincronizzazione durante la connessione al server di pubblicazione.

(Ereditato da PullSubscription)
SecureFtpPassword

Ottiene o imposta la password protetta per l'account di accesso utilizzato per la connessione al server FTP.

(Ereditato da PullSubscription)
SqlServerName

Ottiene il nome dell'istanza di Microsoft SQL Server a cui è connesso questo oggetto.

(Ereditato da ReplicationObject)
SubscriberSecurity

Ottiene il contesto di sicurezza utilizzato dall'agente di sincronizzazione durante la connessione al Sottoscrittore.

(Ereditato da PullSubscription)
SubscriberType

Ottiene o imposta il comportamento di aggiornamento della sottoscrizione.

SubscriptionId

Ottiene il valore ID della sottoscrizione.

(Ereditato da PullSubscription)
SubscriptionType

Ottiene un valore che indica se la registrazione della sottoscrizione è per una sottoscrizione push, pull o anonima.

(Ereditato da PullSubscription)
SynchronizationAgent

Ottiene un oggetto che rappresenta un'istanza dell'agente di distribuzione che può essere utilizzata per sincronizzare la sottoscrizione.

SynchronizationAgentProcessSecurity

Ottiene il contesto di sicurezza usato per specificare l'account Microsoft Windows in cui viene eseguito il processo dell'agente di sincronizzazione per sincronizzare la sottoscrizione.

(Ereditato da PullSubscription)
Type

Ottiene o imposta il tipo di pubblicazione.

(Ereditato da PullSubscription)
UseFtp

Ottiene o imposta un valore che indica se l'agente di sincronizzazione accede ai file di snapshot necessari per inizializzare la sottoscrizione pull utilizzando il protocollo FTP (File Transfer Protocol).

(Ereditato da PullSubscription)
UserData

Ottiene o imposta una proprietà di un oggetto che consente agli utenti di collegare i relativi dati all'oggetto in questione.

(Ereditato da ReplicationObject)
WorkingDirectory

Ottiene o imposta il percorso della directory nel Sottoscrittore utilizzata per archiviare temporaneamente e decomprimere file di snapshot scaricati.

(Ereditato da PullSubscription)

Metodi

CheckValidCreation()

Controlla la creazione della replica valida.

(Ereditato da ReplicationObject)
CheckValidDefinition(Boolean)

Indica se la definizione è valida.

(Ereditato da PullSubscription)
CommitPropertyChanges()

Invia tutte le istruzioni di modifica della proprietà memorizzate nella cache all'istanza di Microsoft SQL Server.

(Ereditato da ReplicationObject)
Create()

Crea la sottoscrizione pull nel Sottoscrittore.

(Ereditato da PullSubscription)
CustomEnabledForSyncMgr(StringBuilder)

Abilita la pubblicazione personalizzata per la gestione sincrona.

(Ereditato da PullSubscription)
Decouple()

Disaccoppia dal server l'oggetto di replica a cui si fa riferimento.

(Ereditato da ReplicationObject)
DoUpdateMemoryOptimizedProperty(String)

Rappresenta una sottoscrizione pull di una pubblicazione transazionale.

GetChangeCommand(StringBuilder, String, String)

Restituisce il comando di modifica dalla replica.

(Ereditato da ReplicationObject)
GetCreateCommand(StringBuilder, Boolean, ScriptOptions)

Restituisce il comando di creazione dalla replica.

(Ereditato da ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

Restituisce il comando di eliminazione dalla replica.

(Ereditato da ReplicationObject)
InitMemberVariables(String, String, String, String, Boolean)

Inizializza le variabili membro.

(Ereditato da PullSubscription)
InternalRefresh(Boolean)

Avvia un aggiornamento interno dalla replica.

(Ereditato da ReplicationObject)
LastAgentJobHistoryInfo()

Restituisce informazioni sull'ultimo processo dell'agente di sincronizzazione eseguito.

(Ereditato da PullSubscription)
Load()

Carica le proprietà di un oggetto esistente dal server.

(Ereditato da ReplicationObject)
LoadProperties()

Carica le proprietà di un oggetto esistente dal server.

(Ereditato da ReplicationObject)
Refresh()

Ricarica le proprietà dell'oggetto.

(Ereditato da ReplicationObject)
Reinitialize()

Contrassegna la sottoscrizione pull per la reinizializzazione.

Remove()

Rimuove la sottoscrizione pull.

(Ereditato da PullSubscription)
Script(ScriptOptions)

Restituisce uno script Transact-SQL per creare o eliminare la sottoscrizione pull in base all'impostazione corrente della proprietà dell'oggetto PullSubscription .

(Ereditato da PullSubscription)
StopSynchronizationJob()

Tenta di arrestare un processo dell'agente di distribuzione che sta sincronizzando la sottoscrizione.

SynchronizeWithJob()

Avvia il processo dell'agente per sincronizzare la sottoscrizione.

Si applica a

Vedi anche