Condividi tramite


MergePullSubscription Classe

Definizione

Rappresenta una sottoscrizione pull di una pubblicazione di tipo merge.

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

Esempio

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

Commenti

Per una sottoscrizione pull, il agente di merge viene eseguito nel Sottoscrittore.

Thread safety

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

Costruttori

MergePullSubscription()

Crea una nuova istanza della classe MergePullSubscription.

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

Inizializza una nuova istanza della MergePullSubscription classe con la connessione al database, al server di pubblicazione, alla pubblicazione e al Sottoscrittore specificati.

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

Crea una nuova istanza della classe MergePullSubscription con il database, il server di pubblicazione, la pubblicazione e la connessione al Sottoscrittore specificati, nonché un valore che indica se il processo dell'agente viene creato.

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 server di distribuzione 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)
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 alla quale la sottoscrizione sottoscrive.

(Ereditato da PullSubscription)
DistributorSecurity

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

(Ereditato da PullSubscription)
DynamicSnapshotLocation

Ottiene o imposta il percorso dei file di snapshot specifici della sottoscrizione quando la pubblicazione utilizza un filtro di riga con parametri.

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

Ottiene o imposta il valore fornito alla funzione HOST_NAME quando questa funzione viene utilizzata nel filtro di riga con parametri che definisce la partizione di dati del Sottoscrittore.

InternetLogin

Ottiene o imposta l'account di accesso utilizzato con l'autenticazione di base HTTP per la connessione al server Web durante la sincronizzazione Web.

InternetPassword

Ottiene o imposta la password per il valore della proprietà InternetLogin fornito per la connessione al server Web durante la sincronizzazione Web.

InternetSecurityMode

Ottiene o imposta il metodo di autenticazione HTTP utilizzato per la connessione al server Web durante la sincronizzazione Web.

InternetTimeout

Ottiene o imposta il periodo di timeout HTTP, in secondi, per la connessione al server Web durante la sincronizzazione Web.

InternetUrl

Ottiene o imposta l'URL da utilizzare in caso di sincronizzazione della sottoscrizione con la sincronizzazione Web.

IsExistingObject

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

(Ereditato da ReplicationObject)
IsMemoryOptimized

Rappresenta una sottoscrizione pull di una pubblicazione di tipo merge.

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

Ottiene il nome generato per la sottoscrizione pull.

(Ereditato da PullSubscription)
Priority

Ottiene o imposta la valutazione di questa sottoscrizione server in relazione alle altre sottoscrizioni server in caso di risoluzione di conflitti tra sottoscrizioni.

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

Imposta la password (sotto forma di oggetto SecureString) utilizzata per la connessione al server Web con l'autenticazione di base HTTP.

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 un valore che indica se la sottoscrizione è una sottoscrizione server o client.

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 merge che può essere utilizzata per sincronizzare la sottoscrizione.

SynchronizationAgentProcessSecurity

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

(Ereditato da PullSubscription)
SyncType

Ottiene o imposta la modalità di inizializzazione dei dati nel Sottoscrittore.

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

Ottiene o imposta un valore che indica se il sistema di risoluzione dei conflitti interattivo viene utilizzato durante il processo di sincronizzazione.

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

Ottiene o imposta un valore che indica se la sottoscrizione viene sincronizzata con la sincronizzazione Web.

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

Restituisce i partner di sincronizzazione alternativi.

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

Contrassegna per la reinizializzazione la sottoscrizione pull di tipo merge.

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 della proprietà corrente dell'oggetto PullSubscription .

(Ereditato da PullSubscription)
StopSynchronizationJob()

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

SynchronizeWithJob()

Avvia in modo asincrono il processo dell'agente per sincronizzare la sottoscrizione pull.

Si applica a

Vedi anche