TransSynchronizationAgent 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.
Fornisce la funzionalità di Agente distribuzione repliche.
public ref class TransSynchronizationAgent : MarshalByRefObject, IDisposable, Microsoft::SqlServer::Replication::ITransSynchronizationAgent
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComSourceInterfaces(typeof(Microsoft.SqlServer.Replication.IComStatusEvent))]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Runtime.InteropServices.Guid("adeda98a-bdfc-4029-b6fb-991d6b468395")]
public class TransSynchronizationAgent : MarshalByRefObject, IDisposable, Microsoft.SqlServer.Replication.ITransSynchronizationAgent
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComSourceInterfaces(typeof(Microsoft.SqlServer.Replication.IComStatusEvent))>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Runtime.InteropServices.Guid("adeda98a-bdfc-4029-b6fb-991d6b468395")>]
type TransSynchronizationAgent = class
inherit MarshalByRefObject
interface IDisposable
interface ITransSynchronizationAgent
Public Class TransSynchronizationAgent
Inherits MarshalByRefObject
Implements IDisposable, ITransSynchronizationAgent
- Ereditarietà
-
TransSynchronizationAgent
- Attributi
- Implementazioni
Esempio
Nell'esempio seguente il Synchronize metodo viene chiamato sull'istanza della TransSynchronizationAgent classe a cui si accede dalla SynchronizationAgent proprietà per sincronizzare la sottoscrizione push.
// Define the server, publication, and database names.
string subscriberName = subscriberInstance;
string publisherName = publisherInstance;
string publicationName = "AdvWorksProductTran";
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
// Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);
TransSubscription subscription;
try
{
// Connect to the Publisher.
conn.Connect();
// Define the push subscription.
subscription = new TransSubscription();
subscription.ConnectionContext = conn;
subscription.DatabaseName = publicationDbName;
subscription.PublicationName = publicationName;
subscription.SubscriptionDBName = subscriptionDbName;
subscription.SubscriberName = subscriberName;
// If the push subscription exists, start the synchronization.
if (subscription.LoadProperties())
{
// Check that we have enough metadata to start the agent.
if (subscription.SubscriberSecurity != null)
{
// Synchronously start the Distribution Agent for the subscription.
subscription.SynchronizationAgent.Synchronize();
}
else
{
throw new ApplicationException("There is insufficent metadata to " +
"synchronize the subscription. Recreate the subscription with " +
"the agent job or supply the required agent properties at run time.");
}
}
else
{
// Do something here if the push subscription does not exist.
throw new ApplicationException(String.Format(
"The subscription to '{0}' does not exist on {1}",
publicationName, subscriberName));
}
}
catch (Exception ex)
{
// Implement appropriate error handling here.
throw new ApplicationException("The subscription could not be synchronized.", ex);
}
finally
{
conn.Disconnect();
}
' Define the server, publication, and database names.
Dim subscriberName As String = subscriberInstance
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"
' Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)
Dim subscription As TransSubscription
Try
' Connect to the Publisher.
conn.Connect()
' Define the push subscription.
subscription = New TransSubscription()
subscription.ConnectionContext = conn
subscription.DatabaseName = publicationDbName
subscription.PublicationName = publicationName
subscription.SubscriptionDBName = subscriptionDbName
subscription.SubscriberName = subscriberName
' If the push subscription exists, start the synchronization.
If subscription.LoadProperties() Then
' Check that we have enough metadata to start the agent.
If Not subscription.SubscriberSecurity Is Nothing Then
' Synchronously start the Distribution Agent for the subscription.
subscription.SynchronizationAgent.Synchronize()
Else
Throw New ApplicationException("There is insufficent metadata to " + _
"synchronize the subscription. Recreate the subscription with " + _
"the agent job or supply the required agent properties at run time.")
End If
Else
' Do something here if the push subscription does not exist.
Throw New ApplicationException(String.Format( _
"The subscription to '{0}' does not exist on {1}", _
publicationName, subscriberName))
End If
Catch ex As Exception
' Implement appropriate error handling here.
Throw New ApplicationException("The subscription could not be synchronized.", ex)
Finally
conn.Disconnect()
End Try
Commenti
La TransSynchronizationAgent classe supporta la possibilità di sincronizzare le sottoscrizioni a livello di codice con pubblicazioni transazionali o snapshot.
Costruttori
TransSynchronizationAgent() |
Crea un'istanza della classe TransSynchronizationAgent. |
Proprietà
AltSnapshotFolder |
Ottiene o imposta la cartella snapshot alternativa per la sottoscrizione. |
ComErrorCollection |
Ottiene una raccolta di errori generati dall'agente di replica. |
Distributor |
Ottiene o imposta il nome dell'istanza di Microsoft SQL Server che funge da server di distribuzione per la sottoscrizione. |
DistributorAddress |
Ottiene o imposta l'indirizzo di rete utilizzato per connettersi al server di distribuzione quando viene specificata la proprietà DistributorNetwork. |
DistributorEncryptedPassword |
Ottiene o imposta la password crittografata utilizzata per la connessione al server di distribuzione tramite SQL Server Authentication. |
DistributorLogin |
Ottiene o imposta il nome di accesso utilizzato per la connessione al server di distribuzione tramite SQL Server Authentication. |
DistributorNetwork |
Ottiene o imposta la libreria di rete client utilizzata durante la connessione al server di distribuzione. |
DistributorPassword |
Ottiene o imposta la password utilizzata per la connessione al server di distribuzione tramite SQL Server Authentication. |
DistributorSecurityMode |
Ottiene o imposta la modalità di sicurezza utilizzata durante la connessione al server di distribuzione. |
DtsPackageFileName |
Ottiene o imposta il nome e il percorso di un pacchetto di Microsoft SQL Server 2000 Data Transformation Services (DTS) utilizzato per trasformare set di righe di comando prima che vengano applicate a un Sottoscrittore. |
DtsPackagePassword |
Ottiene o imposta la password del proprietario utilizzata per accedere al pacchetto di Microsoft SQL Server 2000 Data Transformation Services (DTS) specificato dalla DtsPackageFileName proprietà . |
FileTransferType |
Ottiene o imposta il modo in cui i file di snapshot iniziali vengono trasferiti al Sottoscrittore. |
HostName |
Ottiene o imposta il nome host utilizzato. |
LastUpdatedTime |
Ottiene il timestamp dell'ultima volta in cui la sottoscrizione è stata sincronizzata dall'agente di replica. |
LoginTimeout |
Ottiene o imposta il numero massimo di secondi di attesa per stabilire le connessioni. |
MaxDeliveredTransactions |
Ottiene o imposta il numero massimo di transazioni applicate al Sottoscrittore durante una sola esecuzione dell'agente. |
Output |
Ottiene o imposta il nome file e il percorso del file di output dell'agente. |
OutputVerboseLevel |
Ottiene o imposta la quantità di informazioni registrate dall'agente di distribuzione nel file di output dell'agente. |
ProfileName |
Ottiene o imposta il nome del profilo utilizzato dall'agente. |
Publication |
Ottiene o imposta il nome della pubblicazione. |
Publisher |
Ottiene o imposta il nome dell'istanza di Microsoft SQL Server che rappresenta il server di pubblicazione per la sottoscrizione. |
PublisherDatabase |
Ottiene o imposta il nome del database di pubblicazione. |
QueryTimeout |
Ottiene o imposta il numero di secondi consentiti per il completamento delle query interne. |
SecureDistributorEncryptedPassword |
Ottiene o imposta la password crittografata di protezione per il server di distribuzione. |
SecureSubscriberEncryptedPassword |
Ottiene o imposta la password crittografata di protezione per il Sottoscrittore. |
SkipErrors |
Ottiene o imposta un elenco delimitato da due punti dei numeri di errore che devono essere ignorati dall'agente. |
Subscriber |
Ottiene o imposta il nome dell'istanza di Microsoft SQL Server che è il sottoscrittore. |
SubscriberDatabase |
Ottiene o imposta il nome del database di sottoscrizione. |
SubscriberDatabasePath |
Ottiene o imposta il percorso del database per il Sottoscrittore. |
SubscriberDataSourceType |
Ottiene o imposta il tipo di origine dati utilizzato come sottoscrittore. |
SubscriberEncryptedPassword |
Ottiene o imposta la password crittografata per il Sottoscrittore. |
SubscriberLogin |
Ottiene o imposta il nome di accesso utilizzato per la connessione al sottoscrittore utilizzando SQL Server Authentication. |
SubscriberPassword |
Ottiene o imposta la password utilizzata per la connessione al sottoscrittore tramite l'autenticazione di SQL Server. |
SubscriberSecurityMode |
Ottiene o imposta la modalità di sicurezza utilizzata durante la connessione al server di pubblicazione. |
SubscriptionType |
Ottiene o imposta un valore che indica se la sottoscrizione è di tipo push o pull. |
UndeliveredCommands |
Ottiene il numero di comandi non recapitati. |
UndeliveredTransactions |
Ottiene il numero di transazioni non recapitate. |
UseInProcLoader |
Ottiene o imposta un valore che indica se utilizzare il comando BULK INSERT in caso di applicazione di file di snapshot al sottoscrittore. |
WorkingDirectory |
Ottiene o imposta la directory di lavoro dalla quale viene eseguito l'accesso ai file di snapshot quando viene utilizzato il protocollo FTP (File Transfer Protocol). |
Metodi
Abort() |
Interrompe l'operazione dell'oggetto TransSynchronizationAgent. |
Dispose() |
Rilascia tutte le risorse usate dall'istanza corrente della classe TransSynchronizationAgent. |
Dispose(Boolean) |
Rilascia tutte le risorse usate dalla classe TransSynchronizationAgent. |
Finalize() |
Completa l'oggetto TransSynchronizationAgent. |
IsSnapshotRequired() |
Si connette al server di distribuzione e al Sottoscrittore per determinare se verrà applicato un nuovo snapshot durante la sincronizzazione successiva dell'agente. |
Synchronize() |
Avvia l'agente di distribuzione per sincronizzare la sottoscrizione. |
Eventi
ComStatus |
Si verifica quando l'agente di distribuzione restituisce informazioni sullo stato Com della sincronizzazione. |
Status |
Si verifica quando l'agente di distribuzione restituisce informazioni sullo stato della sincronizzazione. |
Si applica a
Thread safety
La TransSynchronizationAgent classe non supporta appartamenti multithreading. È possibile specificare un apartment a thread singolo dichiarando l'attributo [STAThread]
nel metodo che rappresenta il punto di ingresso principale per l'applicazione. Si tratta dell'impostazione predefinita per le applicazioni basate su Microsoft Windows create tramite Microsoft Visual Studio.