MergePullSubscription Classe

Definizione

Rappresenta un abbonamento pull a una pubblicazione di fusione.

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 un abbonamento pull, l'agente di merge viene eseguito presso l'Abbonato.

Sicurezza dei Thread

Qualsiasi membro pubblico statico (Sharedin Microsoft Visual Basic) di questo tipo è sicuro per operazioni multithread. Non è garantito che tutti i membri dell'istanza siano thread-safe.

Costruttori

Nome Descrizione
MergePullSubscription()

Crea una nuova istanza della classe MergePullSubscription.

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

Crea una nuova istanza della MergePullSubscription classe con il database specificato, Publisher, pubblicazione, connessione Subscriber e se il job agente è stato creato.

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

Inizia una nuova istanza della MergePullSubscription classe con il database specificato, Publisher, pubblicazione e connessione Subscriber.

Proprietà

Nome Descrizione
AgentJobId

Ottiene l'ID del job agente usato per sincronizzare l'abbonamento.

(Ereditato da PullSubscription)
AgentOffload

Ottiene o imposta se l'Agente di Sincronizzazione gira su un computer diverso da quello in cui è stato creato il lavoro 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 dove l'agente viene eseguito quando si utilizza l'attivazione remota dell'agente.

(Ereditato da PullSubscription)
AgentSchedule

Ottiene l'orario per il lavoro dell'agente utilizzato per sincronizzare l'abbonamento.

(Ereditato da PullSubscription)
AltSnapshotFolder

Ottiene o imposta la posizione in cui vengono ottenuti i file snapshot di pubblicazione quando la posizione snapshot predefinita presso il Distributore non viene utilizzata.

(Ereditato da PullSubscription)
CachePropertyChanges

Ottiene o stabilisce se memorizzare le modifiche apportate alle proprietà di replicazione o applicarle immediatamente.

(Ereditato da ReplicationObject)
ConnectionContext

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

(Ereditato da ReplicationObject)
CreateSyncAgentByDefault

Ottiene o imposta se il job dell'agente usato per avviare l'Agente di Replica per sincronizzare l'abbonamento viene creato quando l'abbonamento viene creato.

(Ereditato da PullSubscription)
DatabaseName

Ottiene o imposta il nome del database in abbonamento.

(Ereditato da PullSubscription)
Description

Ottiene o imposta una descrizione testuale dell'abbonamento pull.

(Ereditato da PullSubscription)
DistributorName

Ottiene o imposta l'istanza di Microsoft SQL Server che è il Distributore e distribuisce la pubblicazione a cui l'abbonamento è abbonato.

(Ereditato da PullSubscription)
DistributorSecurity

Ottiene il contesto di sicurezza usato per connettersi al Distributore.

(Ereditato da PullSubscription)
DynamicSnapshotLocation

Ottiene o imposta la posizione del file per i file snapshot specifici dell'abbonamento quando la pubblicazione utilizza un filtro a righe parametrizzato.

EnabledForSynchronizationManager

Specifica se l'abbonamento può essere sincronizzato utilizzando Windows Synchronization Manager.

(Ereditato da PullSubscription)
FtpAddress

Ottiene o imposta l'indirizzo IP del server FTP.

(Ereditato da PullSubscription)
FtpLogin

Ottiene o imposta l'accesso FTP.

(Ereditato da PullSubscription)
FtpPassword

Ottiene o imposta la password FTP.

(Ereditato da PullSubscription)
FtpPort

Ottiene o imposta il numero di porta per il server FTP.

(Ereditato da PullSubscription)
HostName

Ottiene o imposta il valore fornito alla funzione HOST_NAME quando questa funzione è utilizzata nel filtro a righe parametrizzate che definisce la partizione dati dell'abbonato.

InternetLogin

Ottiene o imposta il login utilizzato con l'Autenticazione HTTP Basic quando si connette al server Web durante la sincronizzazione Web.

InternetPassword

Ottiene o imposta la password per il valore fornito InternetLogin quando si connette al server Web durante la sincronizzazione Web.

InternetSecurityMode

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

InternetTimeout

Riceve o imposta il timeout HTTP in pochi secondi quando si connette al server Web durante la sincronizzazione Web.

InternetUrl

Ottiene o imposta l'URL da utilizzare quando sincronizza l'abbonamento tramite la sincronizzazione Web.

IsExistingObject

Ottiene se l'oggetto esiste o meno sul server.

(Ereditato da ReplicationObject)
IsMemoryOptimized

Rappresenta un abbonamento pull a una pubblicazione di fusione.

(Ereditato da PullSubscription)
LastAgentDateTime

Riceve la data e l'ora in cui l'abbonamento è stato sincronizzato l'ultima volta.

(Ereditato da PullSubscription)
LastAgentStatus

Ottiene lo stato della sincronizzazione più recente dell'abbonamento.

(Ereditato da PullSubscription)
LastAgentSummary

Riceve un riepilogo del risultato della sincronizzazione più recente dell'abbonamento.

(Ereditato da PullSubscription)
Name

Ottiene il nome generato per l'abbonamento pull.

(Ereditato da PullSubscription)
Priority

Ottiene o imposta il peso di questo abbonamento server rispetto ad altri abbonamenti server quando si risolvono conflitti tra abbonamenti.

PublicationDBName

Ottiene o imposta il nome del database della pubblicazione.

(Ereditato da PullSubscription)
PublicationName

Ottiene o imposta il nome della pubblicazione a cui l'abbonamento è abbonato.

(Ereditato da PullSubscription)
PublisherName

Ottiene o imposta il nome dell'Publisher.

(Ereditato da PullSubscription)
PublisherSecurity

Ottiene o imposta il contesto di sicurezza utilizzato dall'Agente di Sincronizzazione quando si connette al Publisher.

(Ereditato da PullSubscription)
SecureFtpPassword

Ottiene o imposta la password sicura per l'accesso utilizzato per connettersi al server FTP.

(Ereditato da PullSubscription)
SecureInternetPassword

Imposta la password (come SecureString oggetto) utilizzata quando si connette al server Web tramite l'autenticazione HTTP Basic.

SqlServerName

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

(Ereditato da ReplicationObject)
SubscriberSecurity

Ottiene il contesto di sicurezza utilizzato dall'Agente di Sincronizzazione quando si connette all'abbonato.

(Ereditato da PullSubscription)
SubscriberType

Ottiene o determina se l'abbonamento è un abbonamento server o client.

SubscriptionId

Ottiene il valore dell'ID abbonamento.

(Ereditato da PullSubscription)
SubscriptionType

Capisce se la registrazione dell'abbonamento è per un push, pull o anonimo.

(Ereditato da PullSubscription)
SynchronizationAgent

Ottiene un oggetto che rappresenta un'istanza del agente di merge che può essere utilizzata per sincronizzare l'abbonamento.

SynchronizationAgentProcessSecurity

Ottiene il contesto di sicurezza utilizzato per specificare l'account Microsoft Windows sotto cui il lavoro dell'Agente di Sincronizzazione viene eseguito per sincronizzare l'abbonamento.

(Ereditato da PullSubscription)
SyncType

Ottiene o imposta il modo in cui i dati vengono inizializzati dall'Abbonato.

Type

Prende o imposta il tipo di pubblicazione.

(Ereditato da PullSubscription)
UseFtp

Ottiene o stabilisce se i file snapshot necessari per inizializzare la sottoscrizione pull sono accessibili dall'Agente di Sincronizzazione tramite File Transfer Protocol (FTP).

(Ereditato da PullSubscription)
UseInteractiveResolver

Ottiene o stabilisce se il Resolver Interattivo viene utilizzato durante il processo di sincronizzazione.

UserData

Ottiene o imposta una proprietà oggetto che permette agli utenti di allegare i propri dati all'oggetto.

(Ereditato da ReplicationObject)
UseWebSynchronization

Ottiene o stabilisce se l'abbonamento è sincronizzato tramite la sincronizzazione Web.

WorkingDirectory

Ottiene o imposta il percorso della directory presso l'Abbonato che viene utilizzato per memorizzare e decomprimere temporaneamente i file snapshot scaricati.

(Ereditato da PullSubscription)

Metodi

Nome Descrizione
CheckValidCreation()

Controlla la valida creazione della replica.

(Ereditato da ReplicationObject)
CheckValidDefinition(Boolean)

Indica se la definizione è valida.

(Ereditato da PullSubscription)
CommitPropertyChanges()

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

(Ereditato da ReplicationObject)
Create()

Crea l'abbonamento pull sull'abbonato.

(Ereditato da PullSubscription)
CustomEnabledForSyncMgr(StringBuilder)

Abilita la pubblicazione personalizzata per synchronous manager.

(Ereditato da PullSubscription)
Decouple()

Disaccoppia l'oggetto di replica di riferimento dal server.

(Ereditato da ReplicationObject)
EnumSynchronizationPartners()

Restituisce i partner di sincronizzazione alternativi

GetChangeCommand(StringBuilder, String, String)

Restituisce il comando change dalla replicazione.

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

Restituisce il comando create dalla replicazione.

(Ereditato da ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

Restituisce il comando drop dalla replicazione.

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

Inizializza le variabili membri.

(Ereditato da PullSubscription)
InternalRefresh(Boolean)

Avvia un aggiornamento interno dalla replicazione.

(Ereditato da ReplicationObject)
LastAgentJobHistoryInfo()

Restituisce le informazioni sull'ultimo lavoro dell'Agente di Sincronizzazione che è stato 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)

Segna l'abbonamento del merge pull per la riinizializzazione.

Remove()

Rimuove l'abbonamento pull.

(Ereditato da PullSubscription)
Script(ScriptOptions)

Restituisce uno script Transact-SQL per creare o eliminare l'abbonamento pull in base all'impostazione attuale delle proprietà dell'oggetto PullSubscription .

(Ereditato da PullSubscription)
StopSynchronizationJob()

Tentativi di fermare un lavoro agente di merge in esecuzione che sta sincronizzando l'abbonamento.

SynchronizeWithJob()

Avvia il lavoro dell'agente in modo asincrono per sincronizzare l'abbonamento pull.

Si applica a

Vedi anche