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