Freigeben über


TransSynchronizationAgent Klasse

Definition

Stellt die Funktionalität des Replikationsverteilungs-Agents bereit.

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
Vererbung
TransSynchronizationAgent
Attribute
Implementiert

Beispiele

Im folgenden Beispiel wird die Synchronize Methode für die Instanz der Klasse aufgerufen, auf die von der TransSynchronizationAgentSynchronizationAgent Eigenschaft zugegriffen wird, um das Pushabonnement zu synchronisieren.

// 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

Hinweise

Die TransSynchronizationAgent Klasse unterstützt die Möglichkeit, Abonnements programmgesteuert mit Transaktions- oder Snapshotpublikationen zu synchronisieren.

Konstruktoren

TransSynchronizationAgent()

Erstellt eine Instanz der TransSynchronizationAgent-Klasse.

Eigenschaften

AltSnapshotFolder

Ruft den alternativen Momentaufnahmeordner für das Abonnement ab oder legt diesen fest.

ComErrorCollection

Ruft eine Auflistung der Fehler ab, die vom Replikations-Agent generiert wurden.

Distributor

Ruft den Namen der Instanz von Microsoft SQL Server ab, die als Verteiler für das Abonnement fungiert, oder legt diesen fest.

DistributorAddress

Ruft die Netzwerkadresse ab, die verwendet wird, um eine Verbindung mit dem Verteiler herzustellen, wenn die DistributorNetwork-Eigenschaft angegeben wird, oder legt diese fest.

DistributorEncryptedPassword

Dient zum Abrufen oder Festlegen des verschlüsselten Kennworts, das beim Herstellen einer Verbindung mit dem Verteiler mithilfe von SQL Server Authentifizierung verwendet wird.

DistributorLogin

Ruft den Anmeldenamen ab, der beim Herstellen einer Verbindung mit dem Verteiler mithilfe von SQL Server Authentication verwendet wird, oder legt diesen fest.

DistributorNetwork

Ruft den Client Net-Library ab, der beim Herstellen einer Verbindung mit dem Verteiler verwendet wird, oder legt diesen fest.

DistributorPassword

Dient zum Abrufen oder Festlegen des Kennworts, das beim Herstellen einer Verbindung mit dem Verteiler mithilfe SQL Server Authentifizierung verwendet wird.

DistributorSecurityMode

Ruft den Sicherheitsmodus ab, der beim Herstellen einer Verbindung mit dem Verteiler verwendet wird, oder legt diesen fest.

DtsPackageFileName

Ruft den Namen und den Pfad eines Microsoft SQL Server 2000-DTS-Pakets (Data Transformation Services) ab, das verwendet wird, um Befehlsrowsets zu transformieren, bevor sie auf einen Abonnenten angewendet werden, oder legt diese Informationen fest.

DtsPackagePassword

Ruft das Besitzerkennwort ab, das für den Zugriff auf das microsoft SQL Server 2000 Data Transformation Services (DTS)-Paket verwendet wird, das von der DtsPackageFileName Eigenschaft angegeben wird.

FileTransferType

Ruft ab, wie dem Abonnenten die ersten Momentaufnahmedateien übergeben werden, oder legt die Vorgehensweise fest.

HostName

Ruft den verwendeten Hostnamen ab oder legt ihn fest.

LastUpdatedTime

Ruft den Zeitstempel der letzten Synchronisierung des Abonnements durch diesen Replikations-Agent ab.

LoginTimeout

Ruft die maximale Anzahl von Sekunden ab, die auf das Herstellen von Verbindungen gewartet werden soll, oder legt diese fest.

MaxDeliveredTransactions

Ruft die maximale Anzahl von Transaktionen ab, die während einer einzelnen Ausführung des Agents auf den Abonnenten angewendet werden, oder legt diese fest.

Output

Ruft den Dateinamen und den Pfad der Agentausgabedatei ab oder legt diese Angaben fest.

OutputVerboseLevel

Ruft ab oder legt fest, wie viele Informationen vom Verteilungs-Agent in der Agentausgabedatei protokolliert werden.

ProfileName

Ruft den Namen des Profils ab, das vom Agent verwendet wird, oder legt diesen fest.

Publication

Ruft den Namen der Veröffentlichung ab oder legt diesen fest.

Publisher

Ruft den Namen der Microsoft SQL Server-Instanz ab, die für das Abonnement als Verleger auftritt, oder legt diesen fest.

PublisherDatabase

Ruft den Namen der Veröffentlichungsdatenbank ab oder legt ihn fest.

QueryTimeout

Ruft die Anzahl der Sekunden ab, die für interne Abfragen zulässig sind, oder legt diese fest.

SecureDistributorEncryptedPassword

Ruft das sichere verschlüsselte Kennwort für den Verteiler ab oder legt es fest.

SecureSubscriberEncryptedPassword

Dient zum Abrufen oder Festlegen des sicheren verschlüsselten Kennworts für den Abonnenten.

SkipErrors

Ruft eine Liste der Fehlernummern ab, die von diesem Agent ausgelassen werden sollen, oder legt diese fest. Die Einträge in der Liste sind durch Doppelpunkte getrennt.

Subscriber

Dient zum Abrufen oder Festlegen des Namens der Instanz von Microsoft SQL Server, die der Abonnent ist.

SubscriberDatabase

Ruft den Namen der Abonnementdatenbank ab oder legt diesen fest.

SubscriberDatabasePath

Ruft den Datenbankpfad für den Abonnenten ab oder legt ihn fest.

SubscriberDataSourceType

Dient zum Abrufen oder Festlegen des Datentyps der Datenquelle, die als Abonnent verwendet wird.

SubscriberEncryptedPassword

Dient zum Abrufen oder Festlegen des verschlüsselten Kennworts für den Abonnenten.

SubscriberLogin

Dient zum Abrufen oder Festlegen des Anmeldenamens, der beim Herstellen einer Verbindung mit dem Abonnenten mithilfe von SQL Server Authentifizierung verwendet wird.

SubscriberPassword

Dient zum Abrufen oder Festlegen des Kennworts, das beim Herstellen einer Verbindung mit dem Abonnenten mithilfe von SQL Server Authentifizierung verwendet wird.

SubscriberSecurityMode

Ruft den Sicherheitsmodus ab, der beim Herstellen einer Verbindung mit dem Herausgeber verwendet wird, oder legt diesen fest.

SubscriptionType

Ruft ab oder legt fest, ob das Abonnement ein Push- oder Pullabonnement ist.

UndeliveredCommands

Ruft die Anzahl der nicht abgeschlossenen Befehle ab.

UndeliveredTransactions

Ruft die Anzahl der nicht abgeschlossenen Transaktionen ab.

UseInProcLoader

Ruft einen Wert ab, der angibt, ob beim Anwenden von Momentaufnahmedateien beim Abonnenten der BULK INSERT-Befehl verwendet werden soll, oder legt diesen Wert fest.

WorkingDirectory

Ruft das Arbeitsverzeichnis ab, von dem aus bei Verwendung von FTP (File Transfer Protocol) auf Momentaufnahmedateien zugegriffen wird, oder legt dieses fest.

Methoden

Abort()

Bricht den TransSynchronizationAgent-Vorgang ab.

Dispose()

Gibt alle von der aktuellen Instanz der TransSynchronizationAgent-Klasse verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt alle von der TransSynchronizationAgent-Klasse verwendeten Ressourcen frei.

Finalize()

Schließt TransSynchronizationAgent ab.

IsSnapshotRequired()

Stellt eine Verbindung mit dem Verteiler und dem Abonnenten her, um zu bestimmen, ob während der nächsten Agentsynchronisierung eine neue Momentaufnahme angewendet wird.

Synchronize()

Startet den Verteilungs-Agent, um das Abonnement zu synchronisieren.

Ereignisse

ComStatus

Tritt auf, wenn der Verteilungs-Agent Informationen zum Kommunikationsstatus der Synchronisierung zurückgibt.

Status

Tritt auf, wenn der Verteilungs-Agent Synchronisierungsstatusinformationen zurückgibt.

Gilt für:

Threadsicherheit

Die TransSynchronizationAgent Klasse unterstützt keine Multithread-Wohnungen. Sie können eine Singlethread-Wohnung angeben, indem Sie das [STAThread] Attribut für die Methode deklarieren, die der Haupteintragspunkt für die Anwendung ist. Dies ist die Standardeinstellung für Microsoft Windows-basierte Anwendungen, die mithilfe von Microsoft Visual Studio erstellt werden.