TransPullSubscription Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma assinatura pull para 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
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 é 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
TransPullSubscription() |
Cria uma nova instância da classe TransPullSubscription. |
TransPullSubscription(String, String, String, String, ServerConnection) |
Cria uma nova instância da classe TransPullSubscription com as propriedades que definem uma assinatura pull. |
TransPullSubscription(String, String, String, String, ServerConnection, Boolean) |
Cria uma nova instância da classe TransPullSubscription com as propriedades que definem uma assinatura pull e define se o trabalho de agente deve ser criado para a assinatura. |
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) |
Attributes |
Obtém ou define os atributos de uma publicação transacional que têm suporte da assinatura. |
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) |
DtsPackageLocation |
Obtém ou define o local do pacote de DTS (Data Transformation Services) usado com uma assinatura transformável. |
DtsPackageName |
Obtém ou define o nome do pacote de DTS (Data Transformation Services) 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 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) |
IsExistingObject |
Especifica se o objeto existe no servidor ou não. (Herdado de ReplicationObject) |
IsMemoryOptimized |
Representa uma assinatura pull para uma publicação transacional. (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) |
LastSummaryDateTime |
Obtém a data e a hora da conclusão da última sincronização. |
MemoryOptimized |
Representa uma assinatura pull para uma publicação transacional. |
Name |
Obtém o nome gerado para a assinatura pull. (Herdado de PullSubscription) |
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) |
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 o comportamento de atualização da assinatura. |
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 Distribuição 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) |
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) |
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) |
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) |
DoUpdateMemoryOptimizedProperty(String) |
Representa uma assinatura pull para uma publicação transacional. |
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() |
Marca a assinatura pull 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 Distribuição em execução que está sincronizando a assinatura atualmente. |
SynchronizeWithJob() |
Inicia o trabalho de agente para sincronizar a assinatura. |