TransPullSubscription 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 una sottoscrizione pull di una pubblicazione transazionale.
public ref class TransPullSubscription sealed : Microsoft::SqlServer::Replication::PullSubscription
public sealed class TransPullSubscription : Microsoft.SqlServer.Replication.PullSubscription
type TransPullSubscription = class
inherit PullSubscription
Public NotInheritable Class TransPullSubscription
Inherits PullSubscription
- Ereditarietà
Esempio
// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksProductTran";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
//Create connections to the Publisher and Subscriber.
ServerConnection subscriberConn = new ServerConnection(subscriberName);
ServerConnection publisherConn = new ServerConnection(publisherName);
// Create the objects that we need.
TransPublication publication;
TransPullSubscription subscription;
try
{
// Connect to the Publisher and Subscriber.
subscriberConn.Connect();
publisherConn.Connect();
// Ensure that the publication exists and that
// it supports pull subscriptions.
publication = new TransPublication();
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
publication.ConnectionContext = publisherConn;
if (publication.IsExistingObject)
{
if ((publication.Attributes & PublicationAttributes.AllowPull) == 0)
{
publication.Attributes |= PublicationAttributes.AllowPull;
}
// Define the pull subscription.
subscription = new TransPullSubscription();
subscription.ConnectionContext = subscriberConn;
subscription.PublisherName = publisherName;
subscription.PublicationName = publicationName;
subscription.PublicationDBName = publicationDbName;
subscription.DatabaseName = subscriptionDbName;
// Specify the Windows login credentials for the Distribution Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
subscription.SynchronizationAgentProcessSecurity.Password = winPassword;
// Make sure that the agent job for the subscription is created.
subscription.CreateSyncAgentByDefault = true;
// 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 pull subscription at the Subscriber.
subscription.Create();
Boolean registered = false;
// Verify that the subscription is not already registered.
foreach (TransSubscription existing
in publication.EnumSubscriptions())
{
if (existing.SubscriberName == subscriberName
&& existing.SubscriptionDBName == subscriptionDbName)
{
registered = true;
}
}
if (!registered)
{
// Register the subscription with the Publisher.
publication.MakePullSubscriptionWellKnown(
subscriberName, subscriptionDbName,
SubscriptionSyncType.Automatic,
TransSubscriberType.ReadOnly);
}
}
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
{
subscriberConn.Disconnect();
publisherConn.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 connections to the Publisher and Subscriber.
Dim subscriberConn As ServerConnection = New ServerConnection(subscriberName)
Dim publisherConn As ServerConnection = New ServerConnection(publisherName)
' Create the objects that we need.
Dim publication As TransPublication
Dim subscription As TransPullSubscription
Try
' Connect to the Publisher and Subscriber.
subscriberConn.Connect()
publisherConn.Connect()
' Ensure that the publication exists and that
' it supports pull subscriptions.
publication = New TransPublication()
publication.Name = publicationName
publication.DatabaseName = publicationDbName
publication.ConnectionContext = publisherConn
If publication.IsExistingObject Then
If (publication.Attributes And PublicationAttributes.AllowPull) = 0 Then
publication.Attributes = publication.Attributes _
Or PublicationAttributes.AllowPull
End If
' Define the pull subscription.
subscription = New TransPullSubscription()
subscription.ConnectionContext = subscriberConn
subscription.PublisherName = publisherName
subscription.PublicationName = publicationName
subscription.PublicationDBName = publicationDbName
subscription.DatabaseName = subscriptionDbName
subscription.Description = "Pull subscription to " + publicationDbName _
+ " on " + subscriberName + "."
' Specify the Windows login credentials for the Distribution Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin
subscription.SynchronizationAgentProcessSecurity.Password = winPassword
' Make sure that the agent job for the subscription is created.
subscription.CreateSyncAgentByDefault = True
' 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 pull subscription at the Subscriber.
subscription.Create()
Dim registered As Boolean = False
' Verify that the subscription is not already registered.
For Each existing As TransSubscription In publication.EnumSubscriptions()
If existing.SubscriberName = subscriberName And _
existing.SubscriptionDBName = subscriptionDbName Then
registered = True
End If
Next existing
If Not registered Then
' Register the subscription with the Publisher.
publication.MakePullSubscriptionWellKnown( _
subscriberName, subscriptionDbName, _
SubscriptionSyncType.Automatic, _
TransSubscriberType.ReadOnly)
End If
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
subscriberConn.Disconnect()
publisherConn.Disconnect()
End Try
Commenti
Per una sottoscrizione pull, la agente di distribuzione viene eseguita nel Sottoscrittore.
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
TransPullSubscription() |
Crea una nuova istanza della classe TransPullSubscription. |
TransPullSubscription(String, String, String, String, ServerConnection) |
Crea una nuova istanza della classe TransPullSubscription con le proprietà che definiscono una sottoscrizione pull. |
TransPullSubscription(String, String, String, String, ServerConnection, Boolean) |
Crea una nuova istanza della classe TransPullSubscription con le proprietà che definiscono una sottoscrizione pull e un valore che indica se creare il processo dell'agente per la sottoscrizione. |
Proprietà
AgentJobId |
Ottiene l'ID del processo dell'agente utilizzato per sincronizzare la sottoscrizione. (Ereditato da PullSubscription) |
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 PullSubscription) |
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 PullSubscription) |
AgentSchedule |
Ottiene la pianificazione per il processo dell'agente utilizzato per sincronizzare la sottoscrizione. (Ereditato da PullSubscription) |
AltSnapshotFolder |
Ottiene o imposta il percorso in cui scaricare i file di snapshot della pubblicazione quando non viene utilizzato il percorso predefinito nel server di distribuzione. (Ereditato da PullSubscription) |
Attributes |
Ottiene o imposta gli attributi di una pubblicazione transazionale supportata dalla sottoscrizione. |
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 viene creato il processo dell'agente utilizzato per avviare l'agente di replica per sincronizzare la sottoscrizione appena creata. (Ereditato da PullSubscription) |
DatabaseName |
Ottiene o imposta il nome del database di sottoscrizione. (Ereditato da PullSubscription) |
Description |
Ottiene o imposta una descrizione in formato testo della sottoscrizione pull. (Ereditato da PullSubscription) |
DistributorName |
Ottiene o imposta l'istanza di Microsoft SQL Server che è il server di distribuzione e distribuisce la pubblicazione a cui sottoscrive la sottoscrizione. (Ereditato da PullSubscription) |
DistributorSecurity |
Ottiene il contesto di sicurezza utilizzato per la connessione al server di distribuzione. (Ereditato da PullSubscription) |
DtsPackageLocation |
Ottiene o imposta il percorso del pacchetto DTS (Data Transformation Services) utilizzato con una sottoscrizione trasformabile. |
DtsPackageName |
Ottiene o imposta il nome del pacchetto DTS (Data Transformation Services) utilizzato in una sottoscrizione trasformabile. |
DtsPackagePassword |
Ottiene o imposta la password usata con una sottoscrizione trasformabile. |
EnabledForSynchronizationManager |
Specifica se è possibile sincronizzare la sottoscrizione tramite Gestione sincronizzazione Microsoft Windows. (Ereditato da PullSubscription) |
FtpAddress |
Ottiene o imposta l'indirizzo IP del server FTP. (Ereditato da PullSubscription) |
FtpLogin |
Ottiene o imposta l'account di accesso FTP. (Ereditato da PullSubscription) |
FtpPassword |
Ottiene o imposta la password FTP. (Ereditato da PullSubscription) |
FtpPort |
Ottiene o imposta il numero di porta del server FTP. (Ereditato da PullSubscription) |
IsExistingObject |
Ottiene un valore che indica se l'oggetto esiste nel server. (Ereditato da ReplicationObject) |
IsMemoryOptimized |
Rappresenta una sottoscrizione pull di una pubblicazione transazionale. (Ereditato da PullSubscription) |
LastAgentDateTime |
Ottiene la data e l'ora dell'ultima sincronizzazione della sottoscrizione. (Ereditato da PullSubscription) |
LastAgentStatus |
Ottiene lo stato della sincronizzazione più recente della sottoscrizione. (Ereditato da PullSubscription) |
LastAgentSummary |
Ottiene un riepilogo dei risultati della sincronizzazione più recente della sottoscrizione. (Ereditato da PullSubscription) |
LastSummaryDateTime |
Ottiene la data e l'ora di completamento dell'ultima sincronizzazione. |
MemoryOptimized |
Rappresenta una sottoscrizione pull di una pubblicazione transazionale. |
Name |
Ottiene il nome generato per la sottoscrizione pull. (Ereditato da PullSubscription) |
PublicationDBName |
Ottiene o imposta il nome del database di pubblicazione. (Ereditato da PullSubscription) |
PublicationName |
Ottiene o imposta il nome della pubblicazione sottoscritta dalla sottoscrizione. (Ereditato da PullSubscription) |
PublisherName |
Ottiene o imposta il nome del server di pubblicazione. (Ereditato da PullSubscription) |
PublisherSecurity |
Ottiene o imposta il contesto di sicurezza utilizzato dall'agente di sincronizzazione durante la connessione al server di pubblicazione. (Ereditato da PullSubscription) |
SecureFtpPassword |
Ottiene o imposta la password protetta per l'account di accesso utilizzato per la connessione al server FTP. (Ereditato da PullSubscription) |
SqlServerName |
Ottiene il nome dell'istanza di Microsoft SQL Server a cui è connesso questo oggetto. (Ereditato da ReplicationObject) |
SubscriberSecurity |
Ottiene il contesto di sicurezza utilizzato dall'agente di sincronizzazione durante la connessione al Sottoscrittore. (Ereditato da PullSubscription) |
SubscriberType |
Ottiene o imposta il comportamento di aggiornamento della sottoscrizione. |
SubscriptionId |
Ottiene il valore ID della sottoscrizione. (Ereditato da PullSubscription) |
SubscriptionType |
Ottiene un valore che indica se la registrazione della sottoscrizione è per una sottoscrizione push, pull o anonima. (Ereditato da PullSubscription) |
SynchronizationAgent |
Ottiene un oggetto che rappresenta un'istanza dell'agente di distribuzione che può essere utilizzata per sincronizzare la sottoscrizione. |
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 PullSubscription) |
Type |
Ottiene o imposta il tipo di pubblicazione. (Ereditato da PullSubscription) |
UseFtp |
Ottiene o imposta un valore che indica se l'agente di sincronizzazione accede ai file di snapshot necessari per inizializzare la sottoscrizione pull utilizzando il protocollo FTP (File Transfer Protocol). (Ereditato da PullSubscription) |
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) |
WorkingDirectory |
Ottiene o imposta il percorso della directory nel Sottoscrittore utilizzata per archiviare temporaneamente e decomprimere file di snapshot scaricati. (Ereditato da PullSubscription) |
Metodi
CheckValidCreation() |
Controlla la creazione della replica valida. (Ereditato da ReplicationObject) |
CheckValidDefinition(Boolean) |
Indica se la definizione è valida. (Ereditato da PullSubscription) |
CommitPropertyChanges() |
Invia tutte le istruzioni di modifica della proprietà memorizzate nella cache all'istanza di Microsoft SQL Server. (Ereditato da ReplicationObject) |
Create() |
Crea la sottoscrizione pull nel Sottoscrittore. (Ereditato da PullSubscription) |
CustomEnabledForSyncMgr(StringBuilder) |
Abilita la pubblicazione personalizzata per la gestione sincrona. (Ereditato da PullSubscription) |
Decouple() |
Disaccoppia dal server l'oggetto di replica a cui si fa riferimento. (Ereditato da ReplicationObject) |
DoUpdateMemoryOptimizedProperty(String) |
Rappresenta una sottoscrizione pull di una pubblicazione transazionale. |
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) |
InitMemberVariables(String, String, String, String, Boolean) |
Inizializza le variabili membro. (Ereditato da PullSubscription) |
InternalRefresh(Boolean) |
Avvia un aggiornamento interno dalla replica. (Ereditato da ReplicationObject) |
LastAgentJobHistoryInfo() |
Restituisce informazioni sull'ultimo processo dell'agente di sincronizzazione eseguito. (Ereditato da PullSubscription) |
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 pull per la reinizializzazione. |
Remove() |
Rimuove la sottoscrizione pull. (Ereditato da PullSubscription) |
Script(ScriptOptions) |
Restituisce uno script Transact-SQL per creare o eliminare la sottoscrizione pull in base all'impostazione corrente della proprietà dell'oggetto PullSubscription . (Ereditato da PullSubscription) |
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. |