TransPullSubscription Classe

Definição

Representa uma assinatura de puxar uma publicação transacional.

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

Exemplos

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

Comentários

Para uma assinatura pull, o Agente de Distribuição 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
TransPullSubscription()

Cria uma nova instância da classe TransPullSubscription.

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

Cria uma nova instância da TransPullSubscription classe com as propriedades que definem uma subscrição pull e se deve ou não criar o job agente para a assinatura.

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

Cria uma nova instância da TransPullSubscription classe com as propriedades que definem uma assinatura de pull.

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

Obtém ou define os atributos de uma publicação transacional que são suportados pela assinatura.

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

Obtém ou define a localização do pacote Data Transformation Services (DTS) usado com uma assinatura transformável.

DtsPackageName

Recebe ou define o nome do pacote Data Transformation Services (DTS) usado em uma assinatura transformável.

DtsPackagePassword

Obtém ou define a senha usada com uma assinatura transformável.

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

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

(Herdado de ReplicationObject)
IsMemoryOptimized

Representa uma assinatura de puxar uma publicação transacional.

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

Obtém a data e hora em que a última sincronização foi concluída.

MemoryOptimized

Representa uma assinatura de puxar uma publicação transacional.

Name

Recebe o nome gerado para a assinatura de puxar.

(Herdado de PullSubscription)
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)
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 o comportamento de atualização da assinatura.

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 Distribuição 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)
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)
UserData

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

(Herdado de ReplicationObject)
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)
DoUpdateMemoryOptimizedProperty(String)

Representa uma assinatura de puxar uma publicação transacional.

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

Marca a assinatura de 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 Distribuição em execução que está sincronizando a assinatura.

SynchronizeWithJob()

Inicia o trabalho do agente para sincronizar a assinatura.

Aplica-se a

Confira também