TransSubscription Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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. |