TransSubscription Classe

Definizione

Rappresenta un abbonamento push a una pubblicazione transazionale o 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
Ereditarietà

Esempio

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

Commenti

Quando si configura un Publisher con un Distributore remoto, i valori forniti per tutti i parametri, incluso SynchronizationAgentProcessSecurity, vengono inviati al Distributore come testo in chiaro. È consigliabile crittografare la connessione tra il server di pubblicazione e il server di distribuzione remoto prima di chiamare il metodo Create. Per maggiori informazioni, vedi sp_reinitsubscription (Transact-SQL).

Quando l'abbonamento appartiene a un non-SQL Server Publisher, la ConnectionContext proprietà viene impostata sul Distributore invece che su Publisher, la DatabaseName proprietà viene impostata sul database di distribuzione invece che sul database di pubblicazione, e la PublisherName proprietà è impostata sul nome del non-SQL Server Publisher.

Sicurezza dei Thread

Qualsiasi membro pubblico statico (Sharedin Microsoft Visual Basic) di questo tipo è sicuro per operazioni multithread. Non è garantito che tutti i membri dell'istanza siano thread-safe.

Costruttori

Nome Descrizione
TransSubscription()

Crea una nuova istanza della classe TransSubscription.

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

Crea una nuova istanza della TransSubscription classe con la pubblicazione, il database, il database Subscriber e il database degli abbonati specificati, e con la connessione specificata all'istanza di Microsoft SQL Server.

Proprietà

Nome Descrizione
AgentJobId

Ottiene l'ID del job agente usato per sincronizzare l'abbonamento.

(Ereditato da Subscription)
AgentOffload

Ottiene o imposta se l'agente di sincronizzazione gira su un computer diverso da quello in cui è stato creato il lavoro dell'agente. Questa proprietà non è più supportata per i distributori che eseguono Microsoft SQL Server 2005 e versioni successive.

(Ereditato da Subscription)
AgentOffloadServer

Ottiene o imposta il nome del computer remoto dove l'agente viene eseguito quando si utilizza l'attivazione remota dell'agente.

(Ereditato da Subscription)
AgentSchedule

Ottiene l'orario per il lavoro dell'agente utilizzato per sincronizzare l'abbonamento.

(Ereditato da Subscription)
BackupInformation

Ottiene o imposta le informazioni necessarie per iniziare un abbonamento da un backup.

CachePropertyChanges

Ottiene o stabilisce se memorizzare le modifiche apportate alle proprietà di replicazione o applicarle immediatamente.

(Ereditato da ReplicationObject)
ConnectionContext

Ottiene o imposta la connessione a un'istanza di Microsoft SQL Server.

(Ereditato da ReplicationObject)
CreateSyncAgentByDefault

Ottiene o stabilisce se il job agente utilizzato per sincronizzare l'abbonamento è creato di default.

(Ereditato da Subscription)
DatabaseName

Ottiene o imposta il nome del database della pubblicazione.

(Ereditato da Subscription)
DtsPackageLocation

Ottiene o imposta la posizione del pacchetto Microsoft SQL Server 2000 Data Transformation Services (DTS).

DtsPackageName

Ottiene o imposta il nome del pacchetto Microsoft SQL Server 2000 Data Transformation Services (DTS) applicato all'abbonato.

DtsPackagePassword

Imposta la password utilizzata per eseguire il pacchetto Microsoft SQL Server 2000 Data Transformation Services (DTS).

EnabledForSynchronizationManager

Specifica se l'abbonamento può essere sincronizzato utilizzando Microsoft Windows Synchronization Manager.

(Ereditato da Subscription)
FullSubscription

Riceve un valore che indica se l'abbonamento è pieno.

IsExistingObject

Ottiene se l'oggetto esiste o meno sul server.

(Ereditato da ReplicationObject)
LoopBackDetection

Ottiene o stabilisce se l'agente di distribuzione invia o meno le transazioni originate dall'Abbonato all'Abbonato.

MemoryOptimized

Rappresenta un abbonamento push a una pubblicazione transazionale o snapshot.

Name

Riceve il nome assegnato a un abbonamento esistente.

(Ereditato da Subscription)
PublicationName

Ottiene o imposta il nome della pubblicazione a cui l'abbonamento è abbonato.

(Ereditato da Subscription)
PublisherName

Riceve o imposta il nome del Publisher quando l'abbonamento appartiene a un non-SQL Server Publisher.

SecureDtsPackagePassword

Imposta la password (come SecureString oggetto) utilizzata per eseguire il pacchetto Microsoft SQL Server 2000 Data Transformation Services (DTS).

SqlServerName

Ottiene il nome dell'istanza di Microsoft SQL Server a cui è collegato questo oggetto.

(Ereditato da ReplicationObject)
Status

Riceve lo stato dell'abbonamento.

(Ereditato da Subscription)
SubscriberCatalog

Ottiene o imposta il catalogo utilizzato quando si collega al provider OLE DB per un abbonato non SQL Server.

SubscriberDatasource

Nome della sorgente dati come inteso dal provider OLE DB per un abbonato non SQL Server.

SubscriberDatasourceType

Identifica il tipo di sorgente dati che non è un SQL Server Subscriber.

SubscriberLocation

Posizione del database come intesa dal provider OLE DB per l'abbonato non-SQL Server.

SubscriberName

Ottiene o imposta il nome dell'istanza di Microsoft SQL Server che è l'Abbonato.

(Ereditato da Subscription)
SubscriberProvider

Identificatore programmatico unico (PROGID) con cui è registrato il provider OLE DB per l'abbonato non-SQL Server

SubscriberProviderString

La stringa di connessione specifica del provider OLE DB viene utilizzata per connettersi alla sorgente dati per gli abbonati non SQL Server.

SubscriberSecurity

Ottiene il contesto di sicurezza usato per connettersi all'abbonato.

(Ereditato da Subscription)
SubscriberType

Ottiene o imposta il comportamento di aggiornamento per le modifiche ai dati presso l'Abbonato.

SubscriptionDBName

Ottiene o imposta il nome del database sull'Abbonato che riceve i dati replicati.

(Ereditato da Subscription)
SubscriptionLSN

Ottiene o imposta il numero di sequenza di log dell'abbonamento.

SubscriptionType

Capisce se la registrazione dell'abbonamento è per un abbonamento push o pull.

(Ereditato da Subscription)
SynchronizationAgent

Ottiene un'istanza della TransSynchronizationAgent classe che può essere utilizzata per sincronizzare l'abbonamento.

SynchronizationAgentName

Ottiene o imposta il nome del job agente creato per sincronizzare l'abbonamento.

(Ereditato da Subscription)
SynchronizationAgentProcessSecurity

Ottiene il contesto di sicurezza usato per specificare l'account Microsoft Windows sotto cui il job dell'agente di sincronizzazione viene eseguito per sincronizzare l'abbonamento.

(Ereditato da Subscription)
SyncType

Ottiene o imposta il modo in cui l'abbonamento viene inizializzato.

(Ereditato da Subscription)
UserData

Ottiene o imposta una proprietà oggetto che permette agli utenti di allegare i propri dati all'oggetto.

(Ereditato da ReplicationObject)

Metodi

Nome Descrizione
CheckValidCreation()

Controlla la valida creazione della replica.

(Ereditato da ReplicationObject)
CheckValidDefinition(Boolean)

Indica se la definizione di abbonamento è valida.

(Ereditato da Subscription)
CommitPropertyChanges()

Invia tutte le istruzioni di modifica delle proprietà nella cache all'istanza di Microsoft SQL Server.

(Ereditato da ReplicationObject)
Create()

Crea la registrazione dell'abbonamento presso l'Publisher.

(Ereditato da Subscription)
Decouple()

Disaccoppia l'oggetto di replica di riferimento dal server.

(Ereditato da ReplicationObject)
DoUpdateMemoryOptimizedProperty(String)

Rappresenta un abbonamento push a una pubblicazione transazionale o snapshot.

GetChangeCommand(StringBuilder, String, String)

Restituisce il comando change dalla replicazione.

(Ereditato da ReplicationObject)
GetCreateCommand(StringBuilder, Boolean, ScriptOptions)

Restituisce il comando create dalla replicazione.

(Ereditato da ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

Restituisce il comando drop dalla replicazione.

(Ereditato da ReplicationObject)
InternalRefresh(Boolean)

Avvia un aggiornamento interno dalla replicazione.

(Ereditato da ReplicationObject)
Load()

Carica le proprietà di un oggetto esistente dal server.

(Ereditato da ReplicationObject)
LoadProperties()

Carica le proprietà di un oggetto esistente dal server.

(Ereditato da ReplicationObject)
Refresh()

Ricarica le proprietà dell'oggetto.

(Ereditato da ReplicationObject)
Reinitialize()

Segna l'abbonamento per la riinizializzazione la prossima volta che l'agente di distribuzione si attiva per sincronizzare l'abbonamento.

Reinitialize(Boolean)

Riavvia l'abbonamento.

Remove()

Elimina la registrazione dell'abbonamento presso l'Publisher e rimuove gli oggetti di replica presso l'Abbonato per un abbonamento push.

(Ereditato da Subscription)
Script(ScriptOptions)

Restituisce uno script Transact-SQL che può essere usato per creare o eliminare l'abbonamento.

(Ereditato da Subscription)
StopSynchronizationJob()

Tenta di fermare un lavoro agente di distribuzione in esecuzione che sta sincronizzando l'abbonamento.

SynchronizeWithJob()

Avvia il lavoro dell'agente per sincronizzare l'abbonamento.

Si applica a

Vedi anche