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 una sottoscrizione pull di una pubblicazione di tipo merge.
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 una sottoscrizione pull, il agente di merge viene eseguito nel Sottoscrittore.
Thread safety
Tutti i membri statici pubblici (Shared
in Microsoft Visual Basic) di questo tipo sono sicuri per le operazioni multithreading. Non è invece garantita la sicurezza dei membri dell'istanza.
Costruttori
MergePullSubscription() |
Crea una nuova istanza della classe MergePullSubscription. |
MergePullSubscription(String, String, String, String, ServerConnection) |
Inizializza una nuova istanza della MergePullSubscription classe con la connessione al database, al server di pubblicazione, alla pubblicazione e al Sottoscrittore specificati. |
MergePullSubscription(String, String, String, String, ServerConnection, Boolean) |
Crea una nuova istanza della classe MergePullSubscription con il database, il server di pubblicazione, la pubblicazione e la connessione al Sottoscrittore specificati, nonché un valore che indica se il processo dell'agente viene creato. |
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 server di distribuzione 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) |
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 alla quale la sottoscrizione sottoscrive. (Ereditato da PullSubscription) |
DistributorSecurity |
Ottiene il contesto di sicurezza utilizzato per la connessione al server di distribuzione. (Ereditato da PullSubscription) |
DynamicSnapshotLocation |
Ottiene o imposta il percorso dei file di snapshot specifici della sottoscrizione quando la pubblicazione utilizza un filtro di riga con parametri. |
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) |
HostName |
Ottiene o imposta il valore fornito alla funzione HOST_NAME quando questa funzione viene utilizzata nel filtro di riga con parametri che definisce la partizione di dati del Sottoscrittore. |
InternetLogin |
Ottiene o imposta l'account di accesso utilizzato con l'autenticazione di base HTTP per la connessione al server Web durante la sincronizzazione Web. |
InternetPassword |
Ottiene o imposta la password per il valore della proprietà InternetLogin fornito per la connessione al server Web durante la sincronizzazione Web. |
InternetSecurityMode |
Ottiene o imposta il metodo di autenticazione HTTP utilizzato per la connessione al server Web durante la sincronizzazione Web. |
InternetTimeout |
Ottiene o imposta il periodo di timeout HTTP, in secondi, per la connessione al server Web durante la sincronizzazione Web. |
InternetUrl |
Ottiene o imposta l'URL da utilizzare in caso di sincronizzazione della sottoscrizione con la sincronizzazione Web. |
IsExistingObject |
Ottiene un valore che indica se l'oggetto esiste nel server. (Ereditato da ReplicationObject) |
IsMemoryOptimized |
Rappresenta una sottoscrizione pull di una pubblicazione di tipo merge. (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) |
Name |
Ottiene il nome generato per la sottoscrizione pull. (Ereditato da PullSubscription) |
Priority |
Ottiene o imposta la valutazione di questa sottoscrizione server in relazione alle altre sottoscrizioni server in caso di risoluzione di conflitti tra sottoscrizioni. |
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) |
SecureInternetPassword |
Imposta la password (sotto forma di oggetto SecureString) utilizzata per la connessione al server Web con l'autenticazione di base HTTP. |
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 un valore che indica se la sottoscrizione è una sottoscrizione server o client. |
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 merge che può essere utilizzata per sincronizzare la sottoscrizione. |
SynchronizationAgentProcessSecurity |
Ottiene il contesto di sicurezza utilizzato per specificare l'account di Microsoft Windows in cui viene eseguito il processo dell'agente di sincronizzazione per sincronizzare la sottoscrizione. (Ereditato da PullSubscription) |
SyncType |
Ottiene o imposta la modalità di inizializzazione dei dati nel Sottoscrittore. |
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) |
UseInteractiveResolver |
Ottiene o imposta un valore che indica se il sistema di risoluzione dei conflitti interattivo viene utilizzato durante il processo di sincronizzazione. |
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) |
UseWebSynchronization |
Ottiene o imposta un valore che indica se la sottoscrizione viene sincronizzata con la sincronizzazione Web. |
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 delle 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) |
EnumSynchronizationPartners() |
Restituisce i partner di sincronizzazione alternativi. |
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(Boolean) |
Contrassegna per la reinizializzazione la sottoscrizione pull di tipo merge. |
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 della proprietà corrente dell'oggetto PullSubscription . (Ereditato da PullSubscription) |
StopSynchronizationJob() |
Tenta di arrestare un processo dell'agente di merge che sta sincronizzando la sottoscrizione. |
SynchronizeWithJob() |
Avvia in modo asincrono il processo dell'agente per sincronizzare la sottoscrizione pull. |