TransSubscription Classe

Definizione

Rappresenta una sottoscrizione push di 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 server di pubblicazione con un server di distribuzione remoto, i valori forniti per tutti i parametri, inclusi SynchronizationAgentProcessSecurity, vengono inviati al server di distribuzione come testo normale. È consigliabile crittografare la connessione tra il server di pubblicazione e il server di distribuzione remoto prima di chiamare il metodo Create. Per altre informazioni, vedere sp_reinitsubscription (Transact-SQL).

Quando la sottoscrizione appartiene a un server di pubblicazione non SQL Server, ConnectionContext la proprietà è impostata sul server di distribuzione anziché sul server di pubblicazione, la DatabaseName proprietà è impostata sul database di distribuzione anziché sul database di pubblicazione e la PublisherName proprietà è impostata sul nome del server di pubblicazione non SQL Server.

Thread safety

Tutti i membri statici pubblici (Shared in Microsoft Visual Basic) di questo tipo sono sicuri per le operazioni multithreaded. Non è invece garantita la sicurezza dei membri dell'istanza.

Costruttori

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 sottoscrittore e il database sottoscrittore specificati e con la connessione specificata all'istanza di Microsoft SQL Server.

Proprietà

AgentJobId

Ottiene l'ID del processo dell'agente utilizzato per sincronizzare la sottoscrizione.

(Ereditato da Subscription)
AgentOffload

Ottiene o imposta un valore che indica se l'agente di sincronizzazione viene eseguito in un computer diverso da quello in cui è stato creato il processo 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 in cui viene eseguito l'agente quando si utilizza l'attivazione remota degli agenti.

(Ereditato da Subscription)
AgentSchedule

Ottiene la pianificazione per il processo dell'agente utilizzato per sincronizzare la sottoscrizione.

(Ereditato da Subscription)
BackupInformation

Ottiene o imposta le informazioni necessarie per inizializzare una sottoscrizione da un backup.

CachePropertyChanges

Ottiene o imposta un valore che indica se memorizzare nella cache o se applicare immediatamente le modifiche apportate alle proprietà di replica.

(Ereditato da ReplicationObject)
ConnectionContext

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

(Ereditato da ReplicationObject)
CreateSyncAgentByDefault

Ottiene o imposta un valore che indica se creare per impostazione predefinita il processo dell'agente utilizzato per sincronizzare la sottoscrizione.

(Ereditato da Subscription)
DatabaseName

Ottiene o imposta il nome del database di pubblicazione.

(Ereditato da Subscription)
DtsPackageLocation

Ottiene o imposta il percorso del pacchetto DTS (Data Transformation Services) di Microsoft SQL Server 2000.

DtsPackageName

Ottiene o imposta il nome del pacchetto di Microsoft SQL Server 2000 Data Transformation Services (DTS) applicato al Sottoscrittore.

DtsPackagePassword

Imposta la password usata per eseguire il pacchetto di Servizi di trasformazione dati (DTS) di Microsoft SQL Server 2000.

EnabledForSynchronizationManager

Specifica se la sottoscrizione può essere sincronizzata con Microsoft Windows Sync Manager.

(Ereditato da Subscription)
FullSubscription

Ottiene un valore che indica se la sottoscrizione è completa.

IsExistingObject

Ottiene un valore che indica se l'oggetto esiste nel server.

(Ereditato da ReplicationObject)
LoopBackDetection

Ottiene o imposta un valore che indica se l'agente di distribuzione restituisce al Sottoscrittore le transazioni in esso generate.

MemoryOptimized

Rappresenta una sottoscrizione push di una pubblicazione transazionale o snapshot.

Name

Ottiene il nome assegnato a una sottoscrizione esistente.

(Ereditato da Subscription)
PublicationName

Ottiene o imposta il nome della pubblicazione sottoscritta dalla sottoscrizione.

(Ereditato da Subscription)
PublisherName

Ottiene o imposta il nome del server di pubblicazione quando la sottoscrizione appartiene a un server di pubblicazione non SQL Server.

SecureDtsPackagePassword

Imposta la password (come SecureString oggetto) usata per eseguire il pacchetto di Servizi di trasformazione dati (DTS) di Microsoft SQL Server 2000.

SqlServerName

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

(Ereditato da ReplicationObject)
Status

Ottiene lo stato della sottoscrizione.

(Ereditato da Subscription)
SubscriberCatalog

Ottiene o imposta il catalogo usato quando si effettua una connessione al provider OLE DB per un Sottoscrittore non SQL Server.

SubscriberDatasource

Nome dell'origine dati come compreso dal provider OLE DB per un Sottoscrittore non SQL Server.

SubscriberDatasourceType

Identifica il tipo di origine dati non SQL Server Sottoscrittore.

SubscriberLocation

Percorso del database compreso dal provider OLE DB per il Sottoscrittore non SQL Server.

SubscriberName

Ottiene o imposta il nome dell'istanza di Microsoft SQL Server che rappresenta il Sottoscrittore.

(Ereditato da Subscription)
SubscriberProvider

Identificatore programmatico univoco (PROGID) con cui viene registrato il provider OLE DB per il Sottoscrittore non SQL Server

SubscriberProviderString

La stringa di connessione specifica del provider OLE DB viene usata per connettersi all'origine dati per sottoscrittori non SQL Server.

SubscriberSecurity

Ottiene il contesto di sicurezza utilizzato per la connessione al Sottoscrittore.

(Ereditato da Subscription)
SubscriberType

Ottiene o imposta il comportamento di aggiornamento per le modifiche dei dati nel Sottoscrittore.

SubscriptionDBName

Ottiene o imposta il nome del database sul Sottoscrittore che riceve i dati replicati.

(Ereditato da Subscription)
SubscriptionLSN

Ottiene o imposta il numero di sequenza del file di log (LSN) della sottoscrizione.

SubscriptionType

Ottiene un valore che indica se la registrazione della sottoscrizione è per una sottoscrizione push o pull.

(Ereditato da Subscription)
SynchronizationAgent

Ottiene un'istanza della classe TransSynchronizationAgent che può essere utilizzata per sincronizzare la sottoscrizione.

SynchronizationAgentName

Ottiene o imposta il nome del processo dell'agente creato per sincronizzare la sottoscrizione.

(Ereditato da Subscription)
SynchronizationAgentProcessSecurity

Ottiene il contesto di sicurezza usato per specificare l'account Microsoft Windows in cui viene eseguito il processo dell'agente di sincronizzazione per sincronizzare la sottoscrizione.

(Ereditato da Subscription)
SyncType

Ottiene o imposta la modalità di inizializzazione della sottoscrizione.

(Ereditato da Subscription)
UserData

Ottiene o imposta una proprietà di un oggetto che consente agli utenti di collegare i relativi dati all'oggetto in questione.

(Ereditato da ReplicationObject)

Metodi

CheckValidCreation()

Controlla la creazione della replica valida.

(Ereditato da ReplicationObject)
CheckValidDefinition(Boolean)

Indica se la definizione della sottoscrizione è valida.

(Ereditato da Subscription)
CommitPropertyChanges()

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

(Ereditato da ReplicationObject)
Create()

Crea la registrazione della sottoscrizione nel server di pubblicazione.

(Ereditato da Subscription)
Decouple()

Disaccoppia dal server l'oggetto di replica a cui si fa riferimento.

(Ereditato da ReplicationObject)
DoUpdateMemoryOptimizedProperty(String)

Rappresenta una sottoscrizione push di una pubblicazione transazionale o snapshot.

GetChangeCommand(StringBuilder, String, String)

Restituisce il comando di modifica dalla replica.

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

Restituisce il comando di creazione dalla replica.

(Ereditato da ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

Restituisce il comando di eliminazione dalla replica.

(Ereditato da ReplicationObject)
InternalRefresh(Boolean)

Avvia un aggiornamento interno dalla replica.

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

Contrassegna la sottoscrizione per la reinizializzazione alla successiva esecuzione dell'agente di distribuzione per sincronizzare la sottoscrizione.

Reinitialize(Boolean)

Reinizializza la sottoscrizione.

Remove()

Elimina la registrazione della sottoscrizione nel server di pubblicazione e rimuove gli oggetti di replica nel Sottoscrittore per una sottoscrizione push.

(Ereditato da Subscription)
Script(ScriptOptions)

Restituisce uno script Transact-SQL che può essere usato per creare o eliminare la sottoscrizione.

(Ereditato da Subscription)
StopSynchronizationJob()

Tenta di arrestare un processo dell'agente di distribuzione che sta sincronizzando la sottoscrizione.

SynchronizeWithJob()

Avvia il processo dell'agente per sincronizzare la sottoscrizione.

Si applica a

Vedi anche