TransSynchronizationAgent Klasse

Definition

Stellt die Funktionalität des Replication Verteilungs-Agent 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 Methode Synchronize auf die Instanz der Klasse TransSynchronizationAgent aufgerufen, die von der SynchronizationAgent Eigenschaft zur Synchronisation des Push-Subscriptions abgerufen wird.

// 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 Klasse TransSynchronizationAgent unterstützt die Möglichkeit, Abonnements programmatisch auf transaktionale oder Snapshot-Veröffentlichungen zu synchronisieren.

Konstruktoren

Name Beschreibung
TransSynchronizationAgent()

Erstellt eine Instanz der TransSynchronizationAgent-Klasse.

Eigenschaften

Name Beschreibung
AltSnapshotFolder

Erhält oder setzt den alternativen Snapshot-Ordner für das Abonnement.

ComErrorCollection

Erhält eine Sammlung von Fehlern, die vom Replikationsagenten erzeugt werden.

Distributor

Erhält oder setzt den Namen der Instanz des Microsoft SQL Server, die als Distributor für das Abonnement fungiert.

DistributorAddress

Erhält oder setzt die Netzwerkadresse, die zur Verbindung zum Verteiler verwendet wird, wenn die DistributorNetwork Eigenschaft angegeben ist.

DistributorEncryptedPassword

Erhält oder setzt das verschlüsselte Passwort, das bei der Verbindung zum Distributor verwendet wird, mittels SQL Server Authentication.

DistributorLogin

Erhält oder setzt den Login-Namen, der beim Verbinden mit dem Distributor verwendet wird, mittels SQL Server-Authentifizierung.

DistributorNetwork

Erhält oder setzt den Client Net-Library, der beim Anschluss an den Distributor verwendet wird.

DistributorPassword

Erhält oder setzt das Passwort, das bei der Verbindung zum Distributor verwendet wird, mittels SQL Server-Authentifizierung.

DistributorSecurityMode

Erhält oder setzt den Sicherheitsmodus, der bei der Verbindung zum Verteiler verwendet wird.

DtsPackageFileName

Erhält oder setzt den Namen und Pfad eines Microsoft SQL Server 2000 Data Transformation Services (DTS)-Pakets, das zur Transformation von Befehlsreihensätzen verwendet wird, bevor sie auf einen Abonnenten angewendet werden.

DtsPackagePassword

Erhält oder setzt das Besitzerpasswort, das verwendet wurde, um auf das von der Eigenschaft DtsPackageFileName angegebene Microsoft SQL Server 2000 Data Transformation Services (DTS)-Paket zuzugreifen.

FileTransferType

Erhält oder bestimmt, wie die ursprünglichen Snapshot-Dateien an den Abonnenten übertragen werden.

HostName

Erhält oder setzt den verwendeten Host-Namen.

LastUpdatedTime

Erhält den Zeitstempel des letzten Mals, als der Replikationsagent das Abonnement synchronisiert hat.

LoginTimeout

Erhält oder setzt die maximale Sekundenanzahl für die Wartezeit, bis Verbindungen hergestellt werden.

MaxDeliveredTransactions

Erhält oder legt die maximale Anzahl der Transaktionen fest, die während einer einzelnen Agentenausführung auf den Abonnenten angewendet werden.

Output

Erhält oder setzt den Dateinamen und den Pfad der Agent-Ausgabedatei.

OutputVerboseLevel

Erhält oder legt die Menge der Informationen fest, die vom Verteilungs-Agent in der Agentenausgabedatei protokolliert wird.

ProfileName

Erhält oder setzt den Namen des Profils, das vom Agenten verwendet wird.

Publication

Bekommt oder setzt den Namen der Publikation.

Publisher

Erhält oder setzt den Namen der Microsoft SQL Server-Instanz, die der Publisher für das Abonnement ist.

PublisherDatabase

Erhält oder setzt den Namen der Publikationsdatenbank.

QueryTimeout

Erhält oder legt die Anzahl der Sekunden fest, die für interne Abfragen erlaubt sind.

SecureDistributorEncryptedPassword

Erhält oder setzt das sichere, verschlüsselte Passwort für den Distributor.

SecureSubscriberEncryptedPassword

Erhält oder setzt das sichere, verschlüsselte Passwort für den Abonnenten.

SkipErrors

Erhält oder setzt eine kolon-separierte Liste der Fehlerzahlen, die dieser Agent überspringen soll.

Subscriber

Erhält oder setzt den Namen der Instanz von Microsoft SQL Server, die der Abonnent ist.

SubscriberDatabase

Erhält oder setzt den Namen der Abonnementdatenbank.

SubscriberDatabasePath

Erhalte oder setze den Datenbankpfad für den Abonnenten.

SubscriberDataSourceType

Erhält oder legt die Art der Datenquelle fest, die als Abonnent verwendet wird.

SubscriberEncryptedPassword

Erhält oder setzt das verschlüsselte Passwort für den Abonnenten.

SubscriberLogin

Erhält oder setzt den Login-Namen, der beim Verbinden mit dem Abonnenten verwendet wird, mittels SQL Server-Authentifizierung.

SubscriberPassword

Erhält oder setzt das Passwort, das beim Verbinden mit dem Abonnenten verwendet wird, mittels SQL Server-Authentifizierung.

SubscriberSecurityMode

Erhält oder setzt den Sicherheitsmodus, der beim Verbinden mit dem Publisher verwendet wird.

SubscriptionType

Es gibt oder bestimmt, ob das Abonnement ein Push- oder Pull-Abonnement ist.

UndeliveredCommands

Erhält die Anzahl der nicht ausgegebenen Befehle.

UndeliveredTransactions

Erhält die Anzahl der nicht ausgelieferten Transaktionen.

UseInProcLoader

Erhält oder setzt einen Wert, der anzeigt, ob der Befehl BULK INSERT verwendet werden soll, wenn Snapshot-Dateien beim Abonnenten angewendet werden.

WorkingDirectory

Erhält oder setzt das Arbeitsverzeichnis, aus dem Snapshot-Dateien beim Einsatz des File Transfer Protocol (FTP) abgerufen werden.

Methoden

Name Beschreibung
Abort()

Abbruch der TransSynchronizationAgent Operation.

Dispose()

Gibt alle Ressourcen frei, die von der aktuellen Instanz der TransSynchronizationAgent Klasse verwendet werden.

Dispose(Boolean)

Gibt alle Ressourcen frei, die von der TransSynchronizationAgent-Klasse verwendet werden.

Finalize()

Finalisiert das TransSynchronizationAgent.

IsSnapshotRequired()

Verbindet sich mit dem Distributor und dem Abonnenten, um zu bestimmen, ob bei der nächsten Agentensynchronisation ein neuer Snapshot angewendet wird.

Synchronize()

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

Ereignisse

Name Beschreibung
ComStatus

Tritt auf, wenn der Verteilungs-Agent Synchronization Com-Statusinformationen zurückgibt.

Status

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

Gilt für:

Threadsicherheit

Die Klasse TransSynchronizationAgent unterstützt keine Multithreaded Apartments. Man kann ein Single-Threaded Apartment angeben, indem man das [STAThread] Attribut auf der Methode deklariert, das der Haupteinstiegspunkt für die Anwendung ist. Dies ist der Standard für Microsoft Windows-basierte Anwendungen, die mit Microsoft Visual Studio erstellt werden.