TransSynchronizationAgent Classe

Definizione

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 Synchronize viene chiamato il metodo 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 le 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 l'autenticazione SQL Server.

DistributorLogin

Ottiene o imposta il nome dell'account di accesso utilizzato per la connessione al server di distribuzione tramite l'autenticazione SQL Server.

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 l'autenticazione SQL Server.

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 DTS (Data Transformation Services) di Microsoft SQL Server 2000 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 rappresenta 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 dell'account di accesso utilizzato per la connessione al Sottoscrittore tramite l'autenticazione SQL Server.

SubscriberPassword

Ottiene o imposta la password utilizzata per la connessione al Sottoscrittore tramite l'autenticazione 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 gli Apartment a thread multipli. È possibile specificare un Apartment a thread singolo dichiarando l'attributo [STAThread] sul metodo che rappresenta il punto di ingresso principale dell'applicazione. Si tratta dell'impostazione predefinita per le applicazioni basate su Microsoft Windows create utilizzando Microsoft Visual Studio.