MergePullSubscription Classe

Definição

Representa uma assinatura pull para uma publicação de fusão.

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
Herança
MergePullSubscription

Exemplos

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

Comentários

Para uma assinatura pull, o Agente de Mesclagem roda no Assinante.

Segurança de Thread

Qualquer membro público estático (Sharedem Microsoft Visual Basic) desse tipo é seguro para operações multithread. Não há garantia de que quaisquer membros de instância sejam thread-safe.

Construtores

Nome Description
MergePullSubscription()

Cria uma nova instância da classe MergePullSubscription.

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

Cria uma nova instância da MergePullSubscription classe com o banco de dados especificado, Publisher, publicação, conexão com assinantes e se o trabalho do agente foi criado.

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

Inicializa uma nova instância da MergePullSubscription classe com o banco de dados especificado, Publisher, publicação e conexão com o assinante.

Propriedades

Nome Description
AgentJobId

Obtém o ID do trabalho do agente usado para sincronizar a assinatura.

(Herdado de PullSubscription)
AgentOffload

Obtém ou define se o Agente de Sincronização roda em um computador diferente daquele onde o trabalho do agente foi criado. Essa propriedade não é mais suportada para distribuidores que rodam Microsoft SQL Server 2005 e versões posteriores.

(Herdado de PullSubscription)
AgentOffloadServer

Recebe ou define o nome do computador remoto onde o agente roda ao usar ativação remota.

(Herdado de PullSubscription)
AgentSchedule

Recebe o cronograma do trabalho do agente usado para sincronizar a assinatura.

(Herdado de PullSubscription)
AltSnapshotFolder

Obtém ou define o local onde os arquivos de snapshot de publicação são obtidos quando a localização padrão do snapshot no Distribuidor não é utilizada.

(Herdado de PullSubscription)
CachePropertyChanges

Obtém ou define se devem armazenar em cache as alterações feitas nas propriedades de replicação ou aplicá-las imediatamente.

(Herdado de ReplicationObject)
ConnectionContext

Obtém ou configura a conexão para uma instância do Microsoft SQL Server.

(Herdado de ReplicationObject)
CreateSyncAgentByDefault

Obtém ou define se o trabalho do agente usado para iniciar o Replication Agent para sincronizar a assinatura é criado quando a assinatura é criada.

(Herdado de PullSubscription)
DatabaseName

Obtém ou define o nome do banco de dados de assinaturas.

(Herdado de PullSubscription)
Description

Recebe ou define uma descrição textual da assinatura do pull.

(Herdado de PullSubscription)
DistributorName

Recebe ou define a instância do Microsoft SQL Server que é o Distribuidor e está distribuindo a publicação à qual a assinatura está assinada.

(Herdado de PullSubscription)
DistributorSecurity

Obtém o contexto de segurança usado para conectar ao Distribuidor.

(Herdado de PullSubscription)
DynamicSnapshotLocation

Obtém ou define a localização do arquivo para os arquivos snapshot específicos da assinatura quando a publicação usa um filtro de linha parametrizado.

EnabledForSynchronizationManager

Especifica se a assinatura pode ou não ser sincronizada usando o Windows Synchronization Manager.

(Herdado de PullSubscription)
FtpAddress

Obtém ou define o endereço IP do servidor FTP.

(Herdado de PullSubscription)
FtpLogin

Obtém ou configura o login FTP.

(Herdado de PullSubscription)
FtpPassword

Obtém ou define a senha FTP.

(Herdado de PullSubscription)
FtpPort

Recebe ou define o número da porta do servidor FTP.

(Herdado de PullSubscription)
HostName

Obtém ou define o valor fornecido à função HOST_NAME quando essa função é usada no filtro de linha parametrizada que define a partição de dados do assinante.

InternetLogin

Obtém ou define o login usado com a Autenticação Básica HTTP ao se conectar ao servidor Web durante a sincronização Web.

InternetPassword

Obtém ou define a senha do valor fornecido InternetLogin ao se conectar ao servidor Web durante a sincronização Web.

InternetSecurityMode

Obtém ou define o método de autenticação HTTP usado ao se conectar ao servidor Web durante a sincronização Web.

InternetTimeout

Recebe ou define o tempo HTTP em segundos ao se conectar ao servidor Web durante a sincronização Web.

InternetUrl

Obtém ou define a URL para usar ao sincronizar a assinatura usando a sincronização Web.

IsExistingObject

Determina se o objeto existe no servidor ou não.

(Herdado de ReplicationObject)
IsMemoryOptimized

Representa uma assinatura pull para uma publicação de fusão.

(Herdado de PullSubscription)
LastAgentDateTime

Recebe a data e hora em que a assinatura foi sincronizada pela última vez.

(Herdado de PullSubscription)
LastAgentStatus

Recebe o status da sincronização mais recente da assinatura.

(Herdado de PullSubscription)
LastAgentSummary

Recebe um resumo do resultado da sincronização mais recente da assinatura.

(Herdado de PullSubscription)
Name

Recebe o nome gerado para a assinatura de puxar.

(Herdado de PullSubscription)
Priority

Obtém ou define o peso dessa assinatura de servidor em relação a outras assinaturas ao resolver conflitos entre assinaturas.

PublicationDBName

Obtém ou define o nome do banco de dados da publicação.

(Herdado de PullSubscription)
PublicationName

Obtém ou define o nome da publicação à qual a assinatura está assinada.

(Herdado de PullSubscription)
PublisherName

Recebe ou define o nome do Publisher.

(Herdado de PullSubscription)
PublisherSecurity

Obtém ou define o contexto de segurança usado pelo Agente de Sincronização ao se conectar ao Publisher.

(Herdado de PullSubscription)
SecureFtpPassword

Obtém ou define a senha segura para o login usado para se conectar ao servidor FTP.

(Herdado de PullSubscription)
SecureInternetPassword

Define a senha (como um SecureString objeto) usada ao se conectar ao servidor Web usando a Autenticação Básica HTTP.

SqlServerName

Obtém o nome da instância do Microsoft SQL Server à qual esse objeto está conectado.

(Herdado de ReplicationObject)
SubscriberSecurity

Obtém o contexto de segurança usado pelo Agente de Sincronização ao se conectar ao assinante.

(Herdado de PullSubscription)
SubscriberType

Obtém ou define se a assinatura é de servidor ou cliente.

SubscriptionId

Recebe o valor do ID de assinatura.

(Herdado de PullSubscription)
SubscriptionType

Determina se o registro da assinatura é para uma assinatura push, pull ou anônima.

(Herdado de PullSubscription)
SynchronizationAgent

Recebe um objeto que representa uma instância do Agente de Mesclagem que pode ser usada para sincronizar a assinatura.

SynchronizationAgentProcessSecurity

Obtém o contexto de segurança usado para especificar a conta Microsoft Windows sob a qual o trabalho do Agente de Sincronização é executado para sincronizar a assinatura.

(Herdado de PullSubscription)
SyncType

Obtém ou define a forma como os dados são inicializados no Assinante.

Type

Obtém ou define o tipo de publicação.

(Herdado de PullSubscription)
UseFtp

Obtém ou define se os arquivos snapshot necessários para inicializar a assinatura pull são acessados pelo Agente de Sincronização usando o File Transfer Protocol (FTP).

(Herdado de PullSubscription)
UseInteractiveResolver

Obtém ou define se o Resolver Interativo é usado durante o processo de sincronização.

UserData

Obtém ou define uma propriedade de objeto que permite aos usuários anexar seus próprios dados ao objeto.

(Herdado de ReplicationObject)
UseWebSynchronization

Obtém ou define se a assinatura está sincronizada usando sincronização Web.

WorkingDirectory

Obtém ou define o caminho do diretório no assinante que é usado para armazenar e descomprimir temporariamente arquivos snapshot baixados.

(Herdado de PullSubscription)

Métodos

Nome Description
CheckValidCreation()

Verifica a criação válida da replicação.

(Herdado de ReplicationObject)
CheckValidDefinition(Boolean)

Indica se a definição é válida.

(Herdado de PullSubscription)
CommitPropertyChanges()

Envia todas as declarações de alteração de propriedades em cache para a instância do Microsoft SQL Server.

(Herdado de ReplicationObject)
Create()

Cria a assinatura pull no assinante.

(Herdado de PullSubscription)
CustomEnabledForSyncMgr(StringBuilder)

Ativa a publicação personalizada do gerenciador síncrono.

(Herdado de PullSubscription)
Decouple()

Desacopla o objeto de replicação referenciado do servidor.

(Herdado de ReplicationObject)
EnumSynchronizationPartners()

Retorna os parceiros de sincronização alternativos

GetChangeCommand(StringBuilder, String, String)

Retorna o comando de mudança da replicação.

(Herdado de ReplicationObject)
GetCreateCommand(StringBuilder, Boolean, ScriptOptions)

Retorna o comando create da replicação.

(Herdado de ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

Retorna o comando drop da replicação.

(Herdado de ReplicationObject)
InitMemberVariables(String, String, String, String, Boolean)

Inicializa as variáveis membro.

(Herdado de PullSubscription)
InternalRefresh(Boolean)

Inicia uma atualização interna a partir da replicação.

(Herdado de ReplicationObject)
LastAgentJobHistoryInfo()

Retorna informações do último trabalho do Agente de Sincronização que foi executado.

(Herdado de PullSubscription)
Load()

Carrega as propriedades de um objeto existente a partir do servidor.

(Herdado de ReplicationObject)
LoadProperties()

Carrega as propriedades de um objeto existente a partir do servidor.

(Herdado de ReplicationObject)
Refresh()

Recarrega as propriedades do objeto.

(Herdado de ReplicationObject)
Reinitialize(Boolean)

Marca a assinatura de merge pull para reinicialização.

Remove()

Remove a assinatura de pull.

(Herdado de PullSubscription)
Script(ScriptOptions)

Retorna um script Transact-SQL para criar ou excluir a assinatura pull com base na configuração atual de propriedades do PullSubscription objeto.

(Herdado de PullSubscription)
StopSynchronizationJob()

Tenta impedir um trabalho do Agente de Mesclagem em execução que está sincronizando a assinatura.

SynchronizeWithJob()

Inicia o trabalho do agente de forma assíncrona para sincronizar a assinatura de pull.

Aplica-se a

Confira também