TransSubscription Classe

Definição

Representa uma assinatura push de uma publicação transacional ou de instantâneo.

public ref class TransSubscription sealed : Microsoft::SqlServer::Replication::Subscription
public sealed class TransSubscription : Microsoft.SqlServer.Replication.Subscription
type TransSubscription = class
    inherit Subscription
Public NotInheritable Class TransSubscription
Inherits Subscription
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 a connection to the Publisher.
           ServerConnection conn = new ServerConnection(publisherName);

           // Create the objects that we need.
           TransPublication publication;
           TransSubscription subscription;

           try
           {
               // Connect to the Publisher.
               conn.Connect();

               // Ensure that the publication exists and that 
               // it supports push subscriptions.
               publication = new TransPublication();
               publication.Name = publicationName;
               publication.DatabaseName = publicationDbName;
               publication.ConnectionContext = conn;

               if (publication.IsExistingObject)
               {
                   if ((publication.Attributes & PublicationAttributes.AllowPush) == 0)
                   {
                       publication.Attributes |= PublicationAttributes.AllowPush;
                   }

                   // Define the push subscription.
                   subscription = new TransSubscription();
                   subscription.ConnectionContext = conn;
                   subscription.SubscriberName = subscriberName;
                   subscription.PublicationName = publicationName;
                   subscription.DatabaseName = publicationDbName;
                   subscription.SubscriptionDBName = subscriptionDbName;

                   // Specify the Windows login credentials for the Distribution Agent job.
                   subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
                   subscription.SynchronizationAgentProcessSecurity.Password = winPassword;

                   // 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 push subscription.
                   subscription.Create();
               }
               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
           {
               conn.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 a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)

' Create the objects that we need.
Dim publication As TransPublication
Dim subscription As TransSubscription

Try
    ' Connect to the Publisher.
    conn.Connect()

    ' Ensure that the publication exists and that 
    ' it supports push subscriptions.
    publication = New TransPublication()
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName
    publication.ConnectionContext = conn

    If publication.IsExistingObject Then
        If (publication.Attributes And PublicationAttributes.AllowPush) = 0 Then
            publication.Attributes = publication.Attributes _
            Or PublicationAttributes.AllowPush
        End If

        ' Define the push subscription.
        subscription = New TransSubscription()
        subscription.ConnectionContext = conn
        subscription.SubscriberName = subscriberName
        subscription.PublicationName = publicationName
        subscription.DatabaseName = publicationDbName
        subscription.SubscriptionDBName = subscriptionDbName

        ' Specify the Windows login credentials for the Distribution Agent job.
        subscription.SynchronizationAgentProcessSecurity.Login = winLogin
        subscription.SynchronizationAgentProcessSecurity.Password = winPassword

        ' 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 push subscription.
        subscription.Create()
    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
    conn.Disconnect()
End Try

Comentários

Ao configurar um Publicador com um Distribuidor remoto, os valores fornecidos para todos os parâmetros, incluindo SynchronizationAgentProcessSecurity, são enviados ao Distribuidor como texto sem formatação. É necessário criptografar a conexão entre o Publicador e o respectivo Distribuidor remoto antes de chamar o método Create. Para obter mais informações, consulte sp_reinitsubscription (Transact-SQL).

Quando a assinatura pertence a um Publicador não SQL Server, a ConnectionContext propriedade é definida como Distribuidor em vez de Publisher, a DatabaseName propriedade é definida como o banco de dados de distribuição em vez do banco de dados de publicação e a PublisherName propriedade é definida como o nome do Publicador não SQL Server.

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

TransSubscription()

Cria uma nova instância da classe TransSubscription.

TransSubscription(String, String, String, String, ServerConnection)

Cria uma nova instância da TransSubscription classe com a publicação, o banco de dados, o Assinante e o banco de dados do assinante especificados e com a conexão especificada com a instância do Microsoft SQL Server.

Propriedades

AgentJobId

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

(Herdado de Subscription)
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 posteriores.

(Herdado de Subscription)
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 Subscription)
AgentSchedule

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

(Herdado de Subscription)
BackupInformation

Obtém ou define as informações necessárias para inicializar uma assinatura a partir de um backup.

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 sincronizar a assinatura é criado por padrão.

(Herdado de Subscription)
DatabaseName

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

(Herdado de Subscription)
DtsPackageLocation

Obtém ou define o local do pacote DTS (Serviços de Transformação de Dados) do Microsoft SQL Server 2000.

DtsPackageName

Obtém ou define o nome do pacote DTS (Serviços de Transformação de Dados) do Microsoft SQL Server 2000 que é aplicado no Assinante.

DtsPackagePassword

Define a senha usada para executar o pacote DTS (Serviços de Transformação de Dados) do Microsoft SQL Server 2000.

EnabledForSynchronizationManager

Especifica se a assinatura pode ser sincronizada usando o Microsoft Windows Synchronization Manager.

(Herdado de Subscription)
FullSubscription

Obtém um valor que indica se a assinatura está completa.

IsExistingObject

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

(Herdado de ReplicationObject)
LoopBackDetection

Obtém ou define se o Distribution Agent envia transações originadas no Assinante de volta para o Assinante.

MemoryOptimized

Representa uma assinatura push de uma publicação transacional ou de instantâneo.

Name

Obtém o nome atribuído a uma assinatura existente.

(Herdado de Subscription)
PublicationName

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

(Herdado de Subscription)
PublisherName

Obtém ou define o nome do Publicador quando a assinatura pertence a um Publicador não SQL Server.

SecureDtsPackagePassword

Define a senha (como um SecureString objeto) usada para executar o pacote DTS (Serviços de Transformação de Dados) do Microsoft SQL Server 2000.

SqlServerName

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

(Herdado de ReplicationObject)
Status

Obtém o status da assinatura.

(Herdado de Subscription)
SubscriberCatalog

Obtém ou define o catálogo usado ao fazer uma conexão com o provedor OLE DB para um Assinante não SQL Server.

SubscriberDatasource

Nome da fonte de dados, conforme entendido pelo provedor OLE DB para um Assinante não SQL Server.

SubscriberDatasourceType

Identifica o tipo de fonte de dados que é um Assinante não SQL Server.

SubscriberLocation

Local do banco de dados, conforme entendido pelo provedor OLE DB para o Assinante não SQL Server.

SubscriberName

Obtém ou define o nome da instância do Microsoft SQL Server que corresponde ao Assinante.

(Herdado de Subscription)
SubscriberProvider

Identificador programático exclusivo (PROGID) com o qual o provedor OLE DB para o Assinante não SQL Server está registrado

SubscriberProviderString

A cadeia de conexão específica do provedor OLE DB é usada para se conectar à fonte de dados para Assinantes não SQL Server.

SubscriberSecurity

Obtém o contexto de segurança usado para conexão ao Assinante.

(Herdado de Subscription)
SubscriberType

Obtém ou define o comportamento da atualização de alterações de dados no Assinante.

SubscriptionDBName

Obtém ou define o nome do banco de dados no Assinante que recebe os dados replicados.

(Herdado de Subscription)
SubscriptionLSN

Obtém ou define o número da sequência de log da assinatura.

SubscriptionType

Determina se o registro de assinatura é push ou pull.

(Herdado de Subscription)
SynchronizationAgent

Obtém uma instância da classe TransSynchronizationAgent que pode ser usada para sincronizar a assinatura.

SynchronizationAgentName

Obtém ou define o nome do trabalho de agente criado para sincronizar a assinatura.

(Herdado de Subscription)
SynchronizationAgentProcessSecurity

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

(Herdado de Subscription)
SyncType

Obtém ou define a maneira na qual a assinatura é inicializada.

(Herdado de Subscription)
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)

Métodos

CheckValidCreation()

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

(Herdado de ReplicationObject)
CheckValidDefinition(Boolean)

Indica se definição da assinatura é válida.

(Herdado de Subscription)
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 o registro de assinatura no Publicador.

(Herdado de Subscription)
Decouple()

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

(Herdado de ReplicationObject)
DoUpdateMemoryOptimizedProperty(String)

Representa uma assinatura push de uma publicação transacional ou de instantâneo.

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

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

(Herdado de ReplicationObject)
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 para reinicialização na próxima vez que o Agente de Distribuição for executado para sincronizar a assinatura.

Reinitialize(Boolean)

Reinicializa a assinatura.

Remove()

Exclui o registro de assinatura no Publicador e remove os objetos de replicação no Assinante para uma assinatura push.

(Herdado de Subscription)
Script(ScriptOptions)

Retorna um script Transact-SQL que pode ser usado para criar ou excluir a assinatura.

(Herdado de Subscription)
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.

Aplica-se a

Confira também