TransSynchronizationAgent Classe

Definizione

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.