MergePullSubscription 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 pull a una pubblicazione di fusione.
public ref class MergePullSubscription sealed : Microsoft::SqlServer::Replication::PullSubscription
public sealed class MergePullSubscription : Microsoft.SqlServer.Replication.PullSubscription
type MergePullSubscription = class
inherit PullSubscription
Public NotInheritable Class MergePullSubscription
Inherits PullSubscription
- Ereditarietà
Esempio
// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksSalesOrdersMerge";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
string hostname = @"adventure-works\garrett1";
//Create connections to the Publisher and Subscriber.
ServerConnection subscriberConn = new ServerConnection(subscriberName);
ServerConnection publisherConn = new ServerConnection(publisherName);
// Create the objects that we need.
MergePublication publication;
MergePullSubscription subscription;
try
{
// Connect to the Subscriber.
subscriberConn.Connect();
// Ensure that the publication exists and that
// it supports pull subscriptions.
publication = new MergePublication();
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
publication.ConnectionContext = publisherConn;
if (publication.LoadProperties())
{
if ((publication.Attributes & PublicationAttributes.AllowPull) == 0)
{
publication.Attributes |= PublicationAttributes.AllowPull;
}
// Define the pull subscription.
subscription = new MergePullSubscription();
subscription.ConnectionContext = subscriberConn;
subscription.PublisherName = publisherName;
subscription.PublicationName = publicationName;
subscription.PublicationDBName = publicationDbName;
subscription.DatabaseName = subscriptionDbName;
subscription.HostName = hostname;
// Specify the Windows login credentials for the Merge Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
subscription.SynchronizationAgentProcessSecurity.Password = winPassword;
// Make sure that the agent job for the subscription is created.
subscription.CreateSyncAgentByDefault = true;
// Create the pull subscription at the Subscriber.
subscription.Create();
Boolean registered = false;
// Verify that the subscription is not already registered.
foreach (MergeSubscription existing
in publication.EnumSubscriptions())
{
if (existing.SubscriberName == subscriberName
&& existing.SubscriptionDBName == subscriptionDbName
&& existing.SubscriptionType == SubscriptionOption.Pull)
{
registered = true;
}
}
if (!registered)
{
// Register the local subscription with the Publisher.
publication.MakePullSubscriptionWellKnown(
subscriberName, subscriptionDbName,
SubscriptionSyncType.Automatic,
MergeSubscriberType.Local, 0);
}
}
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 = "AdvWorksSalesOrdersMerge"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"
Dim hostname As String = "adventure-works\garrett1"
'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 MergePublication
Dim subscription As MergePullSubscription
Try
' Connect to the Subscriber.
subscriberConn.Connect()
' Ensure that the publication exists and that
' it supports pull subscriptions.
publication = New MergePublication()
publication.Name = publicationName
publication.DatabaseName = publicationDbName
publication.ConnectionContext = publisherConn
If publication.LoadProperties() Then
If (publication.Attributes And PublicationAttributes.AllowPull) = 0 Then
publication.Attributes = publication.Attributes _
Or PublicationAttributes.AllowPull
End If
' Define the pull subscription.
subscription = New MergePullSubscription()
subscription.ConnectionContext = subscriberConn
subscription.PublisherName = publisherName
subscription.PublicationName = publicationName
subscription.PublicationDBName = publicationDbName
subscription.DatabaseName = subscriptionDbName
subscription.HostName = hostname
' Specify the Windows login credentials for the Merge Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin
subscription.SynchronizationAgentProcessSecurity.Password = winPassword
' Make sure that the agent job for the subscription is created.
subscription.CreateSyncAgentByDefault = True
' 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 MergeSubscription In _
publication.EnumSubscriptions()
If existing.SubscriberName = subscriberName Then
registered = True
End If
Next
If Not registered Then
' Register the local subscription with the Publisher.
publication.MakePullSubscriptionWellKnown( _
subscriberName, subscriptionDbName, _
SubscriptionSyncType.Automatic, _
MergeSubscriberType.Local, 0)
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 un abbonamento pull, l'agente di merge viene eseguito presso l'Abbonato.
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 |
|---|---|
| MergePullSubscription() |
Crea una nuova istanza della classe MergePullSubscription. |
| MergePullSubscription(String, String, String, String, ServerConnection, Boolean) |
Crea una nuova istanza della MergePullSubscription classe con il database specificato, Publisher, pubblicazione, connessione Subscriber e se il job agente è stato creato. |
| MergePullSubscription(String, String, String, String, ServerConnection) |
Inizia una nuova istanza della MergePullSubscription classe con il database specificato, Publisher, pubblicazione e connessione Subscriber. |
Proprietà
| Nome | Descrizione |
|---|---|
| AgentJobId |
Ottiene l'ID del job agente usato per sincronizzare l'abbonamento. (Ereditato da PullSubscription) |
| 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 PullSubscription) |
| AgentOffloadServer |
Ottiene o imposta il nome del computer remoto dove l'agente viene eseguito quando si utilizza l'attivazione remota dell'agente. (Ereditato da PullSubscription) |
| AgentSchedule |
Ottiene l'orario per il lavoro dell'agente utilizzato per sincronizzare l'abbonamento. (Ereditato da PullSubscription) |
| AltSnapshotFolder |
Ottiene o imposta la posizione in cui vengono ottenuti i file snapshot di pubblicazione quando la posizione snapshot predefinita presso il Distributore non viene utilizzata. (Ereditato da PullSubscription) |
| 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 imposta se il job dell'agente usato per avviare l'Agente di Replica per sincronizzare l'abbonamento viene creato quando l'abbonamento viene creato. (Ereditato da PullSubscription) |
| DatabaseName |
Ottiene o imposta il nome del database in abbonamento. (Ereditato da PullSubscription) |
| Description |
Ottiene o imposta una descrizione testuale dell'abbonamento pull. (Ereditato da PullSubscription) |
| DistributorName |
Ottiene o imposta l'istanza di Microsoft SQL Server che è il Distributore e distribuisce la pubblicazione a cui l'abbonamento è abbonato. (Ereditato da PullSubscription) |
| DistributorSecurity |
Ottiene il contesto di sicurezza usato per connettersi al Distributore. (Ereditato da PullSubscription) |
| DynamicSnapshotLocation |
Ottiene o imposta la posizione del file per i file snapshot specifici dell'abbonamento quando la pubblicazione utilizza un filtro a righe parametrizzato. |
| EnabledForSynchronizationManager |
Specifica se l'abbonamento può essere sincronizzato utilizzando Windows Synchronization Manager. (Ereditato da PullSubscription) |
| FtpAddress |
Ottiene o imposta l'indirizzo IP del server FTP. (Ereditato da PullSubscription) |
| FtpLogin |
Ottiene o imposta l'accesso FTP. (Ereditato da PullSubscription) |
| FtpPassword |
Ottiene o imposta la password FTP. (Ereditato da PullSubscription) |
| FtpPort |
Ottiene o imposta il numero di porta per il server FTP. (Ereditato da PullSubscription) |
| HostName |
Ottiene o imposta il valore fornito alla funzione HOST_NAME quando questa funzione è utilizzata nel filtro a righe parametrizzate che definisce la partizione dati dell'abbonato. |
| InternetLogin |
Ottiene o imposta il login utilizzato con l'Autenticazione HTTP Basic quando si connette al server Web durante la sincronizzazione Web. |
| InternetPassword |
Ottiene o imposta la password per il valore fornito InternetLogin quando si connette al server Web durante la sincronizzazione Web. |
| InternetSecurityMode |
Ottiene o imposta il metodo di autenticazione HTTP utilizzato durante la connessione al server Web durante la sincronizzazione Web. |
| InternetTimeout |
Riceve o imposta il timeout HTTP in pochi secondi quando si connette al server Web durante la sincronizzazione Web. |
| InternetUrl |
Ottiene o imposta l'URL da utilizzare quando sincronizza l'abbonamento tramite la sincronizzazione Web. |
| IsExistingObject |
Ottiene se l'oggetto esiste o meno sul server. (Ereditato da ReplicationObject) |
| IsMemoryOptimized |
Rappresenta un abbonamento pull a una pubblicazione di fusione. (Ereditato da PullSubscription) |
| LastAgentDateTime |
Riceve la data e l'ora in cui l'abbonamento è stato sincronizzato l'ultima volta. (Ereditato da PullSubscription) |
| LastAgentStatus |
Ottiene lo stato della sincronizzazione più recente dell'abbonamento. (Ereditato da PullSubscription) |
| LastAgentSummary |
Riceve un riepilogo del risultato della sincronizzazione più recente dell'abbonamento. (Ereditato da PullSubscription) |
| Name |
Ottiene il nome generato per l'abbonamento pull. (Ereditato da PullSubscription) |
| Priority |
Ottiene o imposta il peso di questo abbonamento server rispetto ad altri abbonamenti server quando si risolvono conflitti tra abbonamenti. |
| PublicationDBName |
Ottiene o imposta il nome del database della pubblicazione. (Ereditato da PullSubscription) |
| PublicationName |
Ottiene o imposta il nome della pubblicazione a cui l'abbonamento è abbonato. (Ereditato da PullSubscription) |
| PublisherName |
Ottiene o imposta il nome dell'Publisher. (Ereditato da PullSubscription) |
| PublisherSecurity |
Ottiene o imposta il contesto di sicurezza utilizzato dall'Agente di Sincronizzazione quando si connette al Publisher. (Ereditato da PullSubscription) |
| SecureFtpPassword |
Ottiene o imposta la password sicura per l'accesso utilizzato per connettersi al server FTP. (Ereditato da PullSubscription) |
| SecureInternetPassword |
Imposta la password (come SecureString oggetto) utilizzata quando si connette al server Web tramite l'autenticazione HTTP Basic. |
| SqlServerName |
Ottiene il nome dell'istanza di Microsoft SQL Server a cui è collegato questo oggetto. (Ereditato da ReplicationObject) |
| SubscriberSecurity |
Ottiene il contesto di sicurezza utilizzato dall'Agente di Sincronizzazione quando si connette all'abbonato. (Ereditato da PullSubscription) |
| SubscriberType |
Ottiene o determina se l'abbonamento è un abbonamento server o client. |
| SubscriptionId |
Ottiene il valore dell'ID abbonamento. (Ereditato da PullSubscription) |
| SubscriptionType |
Capisce se la registrazione dell'abbonamento è per un push, pull o anonimo. (Ereditato da PullSubscription) |
| SynchronizationAgent |
Ottiene un oggetto che rappresenta un'istanza del agente di merge che può essere utilizzata per sincronizzare l'abbonamento. |
| SynchronizationAgentProcessSecurity |
Ottiene il contesto di sicurezza utilizzato per specificare l'account Microsoft Windows sotto cui il lavoro dell'Agente di Sincronizzazione viene eseguito per sincronizzare l'abbonamento. (Ereditato da PullSubscription) |
| SyncType |
Ottiene o imposta il modo in cui i dati vengono inizializzati dall'Abbonato. |
| Type |
Prende o imposta il tipo di pubblicazione. (Ereditato da PullSubscription) |
| UseFtp |
Ottiene o stabilisce se i file snapshot necessari per inizializzare la sottoscrizione pull sono accessibili dall'Agente di Sincronizzazione tramite File Transfer Protocol (FTP). (Ereditato da PullSubscription) |
| UseInteractiveResolver |
Ottiene o stabilisce se il Resolver Interattivo viene utilizzato durante il processo di sincronizzazione. |
| UserData |
Ottiene o imposta una proprietà oggetto che permette agli utenti di allegare i propri dati all'oggetto. (Ereditato da ReplicationObject) |
| UseWebSynchronization |
Ottiene o stabilisce se l'abbonamento è sincronizzato tramite la sincronizzazione Web. |
| WorkingDirectory |
Ottiene o imposta il percorso della directory presso l'Abbonato che viene utilizzato per memorizzare e decomprimere temporaneamente i file snapshot scaricati. (Ereditato da PullSubscription) |
Metodi
| Nome | Descrizione |
|---|---|
| CheckValidCreation() |
Controlla la valida creazione della replica. (Ereditato da ReplicationObject) |
| CheckValidDefinition(Boolean) |
Indica se la definizione è valida. (Ereditato da PullSubscription) |
| CommitPropertyChanges() |
Invia tutte le istruzioni di modifica delle proprietà nella cache all'istanza di Microsoft SQL Server. (Ereditato da ReplicationObject) |
| Create() |
Crea l'abbonamento pull sull'abbonato. (Ereditato da PullSubscription) |
| CustomEnabledForSyncMgr(StringBuilder) |
Abilita la pubblicazione personalizzata per synchronous manager. (Ereditato da PullSubscription) |
| Decouple() |
Disaccoppia l'oggetto di replica di riferimento dal server. (Ereditato da ReplicationObject) |
| EnumSynchronizationPartners() |
Restituisce i partner di sincronizzazione alternativi |
| 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) |
| InitMemberVariables(String, String, String, String, Boolean) |
Inizializza le variabili membri. (Ereditato da PullSubscription) |
| InternalRefresh(Boolean) |
Avvia un aggiornamento interno dalla replicazione. (Ereditato da ReplicationObject) |
| LastAgentJobHistoryInfo() |
Restituisce le informazioni sull'ultimo lavoro dell'Agente di Sincronizzazione che è stato 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(Boolean) |
Segna l'abbonamento del merge pull per la riinizializzazione. |
| Remove() |
Rimuove l'abbonamento pull. (Ereditato da PullSubscription) |
| Script(ScriptOptions) |
Restituisce uno script Transact-SQL per creare o eliminare l'abbonamento pull in base all'impostazione attuale delle proprietà dell'oggetto PullSubscription . (Ereditato da PullSubscription) |
| StopSynchronizationJob() |
Tentativi di fermare un lavoro agente di merge in esecuzione che sta sincronizzando l'abbonamento. |
| SynchronizeWithJob() |
Avvia il lavoro dell'agente in modo asincrono per sincronizzare l'abbonamento pull. |