Partilhar via


MergePullSubscription Classe

Definição

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

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 é executado no Assinante.

Acesso thread-safe

Todos os membros estáticos públicos (Shared no Microsoft Visual Basic) desse tipo são seguros para operações multithread. Não há garantia de que qualquer membro de instância seja seguro para threads.

Construtores

MergePullSubscription()

Cria uma nova instância da classe MergePullSubscription.

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

Inicializa uma nova instância da classe com o banco de dados, o Publicador, a publicação e a MergePullSubscription conexão do Assinante especificados.

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

Cria uma nova instância da classe MergePullSubscription com o banco de dados, o Publicador, a publicação, a conexão de Assinante especificados e se o trabalho de agente é criado.

Propriedades

AgentJobId

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

(Herdado de PullSubscription)
AgentOffload

Obtém ou define se o Agente de Sincronização é executado em um computador diferente do computador em que o trabalho do agente foi criado. Essa propriedade não tem mais suporte para Distribuidores que executam o Microsoft SQL Server 2005 e posterior.

(Herdado de PullSubscription)
AgentOffloadServer

Obtém ou define o nome do computador remoto no qual o agente é executado ao usar a ativação de agente remota.

(Herdado de PullSubscription)
AgentSchedule

Obtém a agenda do trabalho de agente a ser usada para sincronizar a assinatura.

(Herdado de PullSubscription)
AltSnapshotFolder

Obtém ou define o local onde os arquivos de instantâneo de publicação são obtidos quando o local de instantâneo padrão no Distribuidor não é usado.

(Herdado de PullSubscription)
CachePropertyChanges

Obtém ou define se as alterações feitas às propriedades de replicação devem ser armazenadas em cache ou aplicadas imediatamente.

(Herdado de ReplicationObject)
ConnectionContext

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

(Herdado de ReplicationObject)
CreateSyncAgentByDefault

Obtém ou define se o trabalho de agente usado para iniciar o Agente de Replicação para sincronizar a assinatura é criado quando a assinatura é criada.

(Herdado de PullSubscription)
DatabaseName

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

(Herdado de PullSubscription)
Description

Obtém ou define uma descrição textual da assinatura pull.

(Herdado de PullSubscription)
DistributorName

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

(Herdado de PullSubscription)
DistributorSecurity

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

(Herdado de PullSubscription)
DynamicSnapshotLocation

Obtém ou define o local de arquivo para os arquivos de instantâneo específicos de assinatura quando a publicação usa um filtro de linha parametrizado.

EnabledForSynchronizationManager

Especifica se a assinatura pode ser sincronizada através do Gerenciador de Sincronização do Windows.

(Herdado de PullSubscription)
FtpAddress

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

(Herdado de PullSubscription)
FtpLogin

Obtém ou define o logon do FTP.

(Herdado de PullSubscription)
FtpPassword

Obtém ou define a senha de FTP.

(Herdado de PullSubscription)
FtpPort

Obtém ou define o número da porta do servidor de FTP.

(Herdado de PullSubscription)
HostName

Obtém ou define o valor fornecido para a função HOST_NAME quando essa função é usada no filtro de linha com parâmetros que define a partição de dados do Assinante.

InternetLogin

Obtém ou define o logon usado com Autenticação HTTP Básica durante a conexão com o servidor Web durante a sincronização da Web.

InternetPassword

Obtém ou define a senha para o valor InternetLogin fornecido durante a conexão com o servidor Web na sincronização da Web.

InternetSecurityMode

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

InternetTimeout

Obtém ou define o tempo limite, em segundos, durante a conexão com o servidor Web durante a sincronização da Web.

InternetUrl

Obtém ou define a URL a ser usada ao sincronizar a assinatura utilizando sincronização da Web.

IsExistingObject

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

(Herdado de ReplicationObject)
IsMemoryOptimized

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

(Herdado de PullSubscription)
LastAgentDateTime

Obtém a data e a hora em que a assinatura foi sincronizada pela última vez.

(Herdado de PullSubscription)
LastAgentStatus

Obtém o status da sincronização de assinatura mais recente.

(Herdado de PullSubscription)
LastAgentSummary

Obtém um resumo do resultado da sincronização de assinatura mais recente.

(Herdado de PullSubscription)
Name

Obtém o nome gerado para a assinatura pull.

(Herdado de PullSubscription)
Priority

Obtém ou define a importância desta assinatura de servidor em relação a outras assinaturas de servidor ao resolver conflitos entre assinaturas.

PublicationDBName

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

(Herdado de PullSubscription)
PublicationName

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

(Herdado de PullSubscription)
PublisherName

Obtém ou define o nome do Publicador.

(Herdado de PullSubscription)
PublisherSecurity

Obtém ou define o contexto de segurança usado pelo Agente de Sincronização durante a conexão com o Publicador.

(Herdado de PullSubscription)
SecureFtpPassword

Obtém ou define a senha segura do logon usado para conexão com o servidor de FTP.

(Herdado de PullSubscription)
SecureInternetPassword

Define a senha (como um objeto SecureString) usada durante a conexão com o 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 ou define o contexto de segurança usado pelo Agente de Sincronização durante a conexão com o Assinante.

(Herdado de PullSubscription)
SubscriberType

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

SubscriptionId

Obtém o valor da ID da assinatura.

(Herdado de PullSubscription)
SubscriptionType

Determina se o registro de assinatura é push ou pull ou anônimo.

(Herdado de PullSubscription)
SynchronizationAgent

Obtém um objeto que representa uma instância do Agente de Mesclagem que pode ser usado para sincronizar a assinatura.

SynchronizationAgentProcessSecurity

Obtém o contexto de segurança usado para especificar a conta do Microsoft Windows na qual o trabalho do Synchronization Agent é executado para sincronizar a assinatura.

(Herdado de PullSubscription)
SyncType

Obtém ou define a maneira na qual 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 de instantâneo necessários para inicializar a assinatura pull são acessados pelo Agente de Sincronização usando o Protocolo FTP.

(Herdado de PullSubscription)
UseInteractiveResolver

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

UserData

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

(Herdado de ReplicationObject)
UseWebSynchronization

Obtém ou define se a assinatura é sincronizada utilizando sincronização da Web.

WorkingDirectory

Obtém ou define o caminho do diretório no Assinante utilizado para armazenar temporariamente e descompactar arquivos de instantâneo baixados.

(Herdado de PullSubscription)

Métodos

CheckValidCreation()

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

(Herdado de ReplicationObject)
CheckValidDefinition(Boolean)

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

(Herdado de PullSubscription)
CommitPropertyChanges()

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

(Herdado de ReplicationObject)
Create()

Cria a assinatura pull para o Assinante.

(Herdado de PullSubscription)
CustomEnabledForSyncMgr(StringBuilder)

Permite a publicação personalizada para o 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 change 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 de membro.

(Herdado de PullSubscription)
InternalRefresh(Boolean)

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

(Herdado de ReplicationObject)
LastAgentJobHistoryInfo()

Retorna informações sobre o último trabalho de Agente de Sincronização executado.

(Herdado de PullSubscription)
Load()

Carrega as propriedades de um objeto existente do servidor.

(Herdado de ReplicationObject)
LoadProperties()

Carrega as propriedades de um objeto existente do servidor.

(Herdado de ReplicationObject)
Refresh()

Recarrega as propriedades do objeto.

(Herdado de ReplicationObject)
Reinitialize(Boolean)

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

Remove()

Remove a assinatura pull.

(Herdado de PullSubscription)
Script(ScriptOptions)

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

(Herdado de PullSubscription)
StopSynchronizationJob()

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

SynchronizeWithJob()

Inicia o trabalho de agente de modo assíncrono para sincronizar a assinatura pull.

Aplica-se a

Confira também