TransSubscription 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 push de uma publicação transacional ou snapshot.
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 Publisher com um Distribuidor remoto, os valores fornecidos para todos os parâmetros, incluindo SynchronizationAgentProcessSecurity, são enviados ao Distribuidor como texto simples. É necessário criptografar a conexão entre o Publicador e o respectivo Distribuidor remoto antes de chamar o método Create. Para mais informações, veja sp_reinitsubscription (Transact-SQL).
Quando a assinatura pertence a uma não-SQL Server Publisher, a ConnectionContext propriedade é definida para o Distribuidor em vez de Publisher, a DatabaseName propriedade é definida para o banco de dados de distribuição em vez do banco de dados de publicação, e a PublisherName propriedade é definida para o nome do não-SQL Server Publisher.
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 |
|---|---|
| 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, banco de dados, banco de dados de assinantes e assinante especificados, e com a conexão especificada para a instância do Microsoft SQL Server. |
Propriedades
| Nome | Description |
|---|---|
| AgentJobId |
Obtém o ID do trabalho do agente usado para sincronizar a assinatura. (Herdado de Subscription) |
| 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 Subscription) |
| AgentOffloadServer |
Recebe ou define o nome do computador remoto onde o agente roda ao usar ativação remota. (Herdado de Subscription) |
| AgentSchedule |
Recebe o cronograma do trabalho do agente usado para sincronizar a assinatura. (Herdado de Subscription) |
| BackupInformation |
Obtém ou configura as informações necessárias para inicializar uma assinatura a partir de um backup. |
| 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 sincronizar a assinatura é criado por padrão. (Herdado de Subscription) |
| DatabaseName |
Obtém ou define o nome do banco de dados da publicação. (Herdado de Subscription) |
| DtsPackageLocation |
Obtém ou define a localização do pacote Microsoft SQL Server 2000 Data Transformation Services (DTS). |
| DtsPackageName |
Recebe ou define o nome do pacote Microsoft SQL Server 2000 Data Transformation Services (DTS) que é aplicado ao assinante. |
| DtsPackagePassword |
Define a senha usada para executar o pacote Microsoft SQL Server 2000 Data Transformation Services (DTS). |
| EnabledForSynchronizationManager |
Especifica se a assinatura pode ser sincronizada usando Microsoft Windows Gerenciador de Sincronização. (Herdado de Subscription) |
| FullSubscription |
Recebe um valor que indica se a assinatura está cheia. |
| IsExistingObject |
Determina se o objeto existe no servidor ou não. (Herdado de ReplicationObject) |
| LoopBackDetection |
Obtém ou define se o Agente de Distribuição envia ou não as transações que se originaram no assinante de volta para o assinante. |
| MemoryOptimized |
Representa uma assinatura push de uma publicação transacional ou snapshot. |
| Name |
Recebe o nome atribuído a uma assinatura existente. (Herdado de Subscription) |
| PublicationName |
Obtém ou define o nome da publicação à qual a assinatura está assinada. (Herdado de Subscription) |
| PublisherName |
Recebe ou define o nome da Publisher quando a assinatura pertence a uma não-SQL Server Publisher. |
| SecureDtsPackagePassword |
Define a senha (como um SecureString objeto) usada para executar o pacote Microsoft SQL Server 2000 Data Transformation Services (DTS). |
| SqlServerName |
Obtém o nome da instância do Microsoft SQL Server à qual esse objeto está conectado. (Herdado de ReplicationObject) |
| Status |
Recebe o status da assinatura. (Herdado de Subscription) |
| SubscriberCatalog |
Obtém ou configura 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 do SQL Server que não seja associado. |
| SubscriberDatasourceType |
Identifica o tipo de fonte de dados que não é um Assinante do SQL Server. |
| SubscriberLocation |
Localização do banco de dados conforme entendido pelo provedor OLE DB para o Assinante que não é do SQL Server. |
| SubscriberName |
Recebe ou define o nome da instância do Microsoft SQL Server que é o Assinante. (Herdado de Subscription) |
| SubscriberProvider |
Identificador programático único (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 do OLE DB é usada para conectar à fonte de dados para assinantes do SQL Server que não são associados. |
| SubscriberSecurity |
Obtém o contexto de segurança usado para se conectar ao assinante. (Herdado de Subscription) |
| SubscriberType |
Obtém ou define o comportamento de atualização para mudanças 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 |
Recebe ou define o número da sequência de log da assinatura. |
| SubscriptionType |
Determina se o registro da assinatura é para uma assinatura push ou pull. (Herdado de Subscription) |
| SynchronizationAgent |
Recebe uma instância da TransSynchronizationAgent classe que pode ser usada para sincronizar a assinatura. |
| SynchronizationAgentName |
Recebe ou define o nome do job do agente criado para sincronizar a assinatura. (Herdado de Subscription) |
| SynchronizationAgentProcessSecurity |
Obtém o contexto de segurança usado para especificar a conta Microsoft Windows sob a qual o job do agente de sincronização é executado para sincronizar a assinatura. (Herdado de Subscription) |
| SyncType |
Obtém ou define a forma como a assinatura é iniciada. (Herdado de Subscription) |
| UserData |
Obtém ou define uma propriedade de objeto que permite aos usuários anexar seus próprios dados ao objeto. (Herdado de ReplicationObject) |
Métodos
| Nome | Description |
|---|---|
| CheckValidCreation() |
Verifica a criação válida da replicação. (Herdado de ReplicationObject) |
| CheckValidDefinition(Boolean) |
Indica se a definição de assinatura é válida. (Herdado de Subscription) |
| 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 o registro de assinatura no Publisher. (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 snapshot. |
| 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) |
| InternalRefresh(Boolean) |
Inicia uma atualização interna a partir da replicação. (Herdado de ReplicationObject) |
| 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 para reinicialização na próxima vez que o Agente de Distribuição rodar para sincronizar a assinatura. |
| Reinitialize(Boolean) |
Reinicializa a assinatura. |
| Remove() |
Exclui o registro de assinatura no Publisher e remove 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 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. |