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à dell'Replication agente di distribuzione.
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
Nel seguente esempio, il Synchronize metodo viene chiamato sull'istanza della TransSynchronizationAgent classe che viene accessa 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 capacità di sincronizzare programmaticamente abbonamenti a pubblicazioni transazionali o snapshot.
Costruttori
| Nome | Descrizione |
|---|---|
| TransSynchronizationAgent() |
Crea un'istanza della classe TransSynchronizationAgent. |
Proprietà
| Nome | Descrizione |
|---|---|
| AltSnapshotFolder |
Ottiene o imposta la cartella degli snapshot alternativi per l'abbonamento. |
| ComErrorCollection |
Ottiene una raccolta di errori generati dall'agente di replicazione. |
| Distributor |
Ottiene o imposta il nome dell'istanza di Microsoft SQL Server che agisce come distributore per l'abbonamento. |
| DistributorAddress |
Ottiene o imposta l'indirizzo di rete che viene utilizzato per connettersi al distributore quando la DistributorNetwork proprietà viene specificata. |
| DistributorEncryptedPassword |
Ottiene o imposta la password criptata utilizzata quando si connette al distributore tramite l'autenticazione SQL Server. |
| DistributorLogin |
Ottiene o imposta il nome di accesso utilizzato quando si connette al distributore utilizzando l'autenticazione SQL Server. |
| DistributorNetwork |
Ottiene o imposta il client Net-Library utilizzato quando si collega al distributore. |
| DistributorPassword |
Ottiene o imposta la password usata quando si connette al Distributore tramite l'autenticazione SQL Server. |
| DistributorSecurityMode |
Ottiene o imposta la modalità di sicurezza utilizzata quando si collega al distributore. |
| DtsPackageFileName |
Ottiene o imposta il nome e il percorso di un pacchetto Microsoft SQL Server 2000 Data Transformation Services (DTS) utilizzato per trasformare i set di righe di comandi prima che vengano applicati a un abbonato. |
| DtsPackagePassword |
Ottiene o imposta la password del proprietario che usava per accedere al pacchetto Microsoft SQL Server 2000 Data Transformation Services (DTS) specificato dalla DtsPackageFileName proprietà. |
| FileTransferType |
Ottiene o imposta come i file snapshot iniziali vengono trasferiti all'abbonato. |
| HostName |
Ottiene o imposta il nome host utilizzato. |
| LastUpdatedTime |
Riceve il timestamp dell'ultima volta che quell'agente di replicazione ha sincronizzato l'abbonamento. |
| LoginTimeout |
Ottiene o imposta il numero massimo di secondi per aspettare che vengano stabilite le connessioni. |
| MaxDeliveredTransactions |
Ottiene o imposta il numero massimo di transazioni applicate all'Abbonato durante un'esecuzione di un singolo agente. |
| Output |
Ottiene o imposta il nome del file e il percorso del file di uscita 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 è il Publisher per l'abbonamento. |
| PublisherDatabase |
Ottiene o imposta il nome del database della pubblicazione. |
| QueryTimeout |
Ottiene o imposta il numero di secondi consentiti per completare le query interne. |
| SecureDistributorEncryptedPassword |
Ottiene o imposta la password criptata e sicura per il distributore. |
| SecureSubscriberEncryptedPassword |
Ottiene o imposta la password criptata e sicura per l'abbonato. |
| SkipErrors |
Ottiene o imposta una lista separata da due punti dei numeri di errore che questo agente deve saltare. |
| Subscriber |
Ottiene o imposta il nome dell'istanza di Microsoft SQL Server che è l'abbonato. |
| SubscriberDatabase |
Ottiene o imposta il nome del database in abbonamento. |
| SubscriberDatabasePath |
Ottieni o imposta il percorso del database per l'abbonato. |
| SubscriberDataSourceType |
Ottiene o imposta il tipo di sorgente dati utilizzata come abbonato. |
| SubscriberEncryptedPassword |
Ottiene o imposta la password criptata per l'abbonato. |
| SubscriberLogin |
Ottiene o imposta il nome di accesso utilizzato quando si connette all'abbonato utilizzando l'autenticazione di SQL Server. |
| SubscriberPassword |
Ottiene o imposta la password utilizzata quando si connette all'abbonato utilizzando l'autenticazione SQL Server. |
| SubscriberSecurityMode |
Ottiene o imposta la modalità di sicurezza utilizzata quando si connette all'editore. |
| SubscriptionType |
Prende o determina se l'abbonamento è un abbonamento push o pull. |
| UndeliveredCommands |
Ottiene il numero di comandi non consegnati. |
| UndeliveredTransactions |
Ottiene il numero di transazioni non consegnate. |
| UseInProcLoader |
Ottiene o imposta un valore che indica se utilizzare il comando BULK INSERT quando applica i file snapshot all'abbonato. |
| WorkingDirectory |
Ottiene o imposta la directory operativa da cui vengono acceduti i file snapshot quando si utilizza il File Transfer Protocol (FTP). |
Metodi
| Nome | Descrizione |
|---|---|
| Abort() |
Abortisce l'operazione TransSynchronizationAgent . |
| Dispose() |
Rilascia tutte le risorse usate dall'istanza corrente della TransSynchronizationAgent classe . |
| Dispose(Boolean) |
Rilascia tutte le risorse usate dalla TransSynchronizationAgent classe . |
| Finalize() |
Finalizza il TransSynchronizationAgent. |
| IsSnapshotRequired() |
Si collega al Distributore e all'Abbonato per determinare se verrà applicato un nuovo snapshot durante la prossima sincronizzazione dell'agente. |
| Synchronize() |
Avvia l'agente di distribuzione per sincronizzare l'abbonamento. |
Eventi
| Nome | Descrizione |
|---|---|
| ComStatus |
Accade quando l'agente di distribuzione restituisce le informazioni di stato di sincronizzazione Com. |
| Status |
Si verifica quando il agente di distribuzione restituisce informazioni sullo stato della sincronizzazione. |
Si applica a
Thread safety
La TransSynchronizationAgent classe non supporta appartamenti multithread. Puoi specificare un appartamento single-threaded dichiarando l'attributo [STAThread] sul metodo che rappresenta il punto di ingresso principale per l'applicazione. Questo è il valore predefinito per le applicazioni basate su Microsoft Windows create utilizzando Microsoft Visual Studio.