Partager via


TransSynchronizationAgent Classe

Définition

Fournit les fonctionnalités de l'Agent de distribution de réplication.

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
Héritage
TransSynchronizationAgent
Attributs
Implémente

Exemples

Dans l’exemple suivant, la Synchronize méthode est appelée sur l’instance de la TransSynchronizationAgent classe accessible à partir de la SynchronizationAgent propriété pour synchroniser l’abonnement 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

Remarques

La TransSynchronizationAgent classe prend en charge la possibilité de synchroniser par programmation des abonnements à des publications transactionnelles ou d’instantanés.

Constructeurs

TransSynchronizationAgent()

Crée une instance de la classe TransSynchronizationAgent.

Propriétés

AltSnapshotFolder

Obtient ou définit l'autre dossier d'instantanés pour l'abonnement.

ComErrorCollection

Obtient une collection d’erreurs générées par l’agent de réplication.

Distributor

Obtient ou définit le nom de l’instance de Microsoft SQL Server qui agit comme serveur de distribution de l’abonnement.

DistributorAddress

Obtient ou définit l'adresse réseau utilisée pour se connecter au serveur de distribution lorsque la propriété DistributorNetwork est spécifiée.

DistributorEncryptedPassword

Obtient ou définit le mot de passe chiffré utilisé lors de la connexion au serveur de distribution à l’aide de l’authentification SQL Server.

DistributorLogin

Obtient ou définit le nom de connexion utilisé lors de la connexion au serveur de distribution à l’aide de SQL Server authentification.

DistributorNetwork

Obtient ou définit le client Net-Library utilisé lors de la connexion au serveur de distribution.

DistributorPassword

Obtient ou définit le mot de passe utilisé lors de la connexion au serveur de distribution à l’aide de l’authentification SQL Server.

DistributorSecurityMode

Obtient ou définit le mode de sécurité utilisé lors de la connexion au serveur de distribution.

DtsPackageFileName

Obtient ou définit le nom et le chemin d'accès d'un package DTS (Data Transformation Services) Microsoft SQL Server 2000 utilisé pour transformer des ensembles de lignes de commande avant leur application sur un Abonné.

DtsPackagePassword

Obtient ou définit le mot de passe propriétaire utilisé pour accéder au package Microsoft SQL Server 2000 Data Transformation Services (DTS) spécifié par la DtsPackageFileName propriété.

FileTransferType

Obtient ou définit la manière dont les fichiers d'instantanés initiaux sont transférés à l'Abonné.

HostName

Obtient ou définit le nom d'hôte utilisé.

LastUpdatedTime

Obtient le timestamp de la dernière synchronisation de l'abonnement par l'agent de réplication.

LoginTimeout

Obtient ou définit le nombre maximal de secondes écoulées pour établir des connexions.

MaxDeliveredTransactions

Obtient ou définit le nombre maximal de transactions appliquées à l'Abonné pendant l'exécution d'un agent unique.

Output

Obtient ou définit le nom et le chemin d'accès du fichier de sortie de l'agent.

OutputVerboseLevel

Obtient ou définit la quantité d'informations enregistrées par l'Agent de distribution dans le fichier de sortie de l'agent.

ProfileName

Obtient ou définit le nom du profil utilisé par l'agent.

Publication

Obtient ou définit le nom de la publication.

Publisher

Obtient ou définit le nom de l'instance de Microsoft SQL Server qui représente le serveur de publication pour l'abonnement.

PublisherDatabase

Obtient ou définit le nom de la base de données de publication.

QueryTimeout

Obtient ou définit le nombre de secondes autorisées pour que les requêtes internes soient terminées.

SecureDistributorEncryptedPassword

Obtient ou définit le mot de passe chiffré et sécurisé du serveur de distribution.

SecureSubscriberEncryptedPassword

Obtient ou définit le mot de passe chiffré sécurisé pour l’abonné.

SkipErrors

Obtient ou définit la liste séparée par des virgules des numéros d'erreur à ignorer par cet agent.

Subscriber

Obtient ou définit le nom de l’instance de Microsoft SQL Server qui est l’abonné.

SubscriberDatabase

Obtient ou définit le nom de la base de données d'abonnement.

SubscriberDatabasePath

Obtient ou définit le chemin d'accès de la base de données de l'abonné.

SubscriberDataSourceType

Obtient ou définit le type de source de données utilisée en tant qu'abonné.

SubscriberEncryptedPassword

Obtient ou définit le mot de passe chiffré pour l’abonné.

SubscriberLogin

Obtient ou définit le nom de connexion utilisé lors de la connexion à l’abonné à l’aide de l’authentification SQL Server.

SubscriberPassword

Obtient ou définit le mot de passe utilisé lors de la connexion à l’abonné à l’aide de l’authentification SQL Server.

SubscriberSecurityMode

Obtient ou définit le mode de sécurité utilisé lors de la connexion au serveur de publication.

SubscriptionType

Indique si l'abonnement est un abonnement par extraction ou par émission de données.

UndeliveredCommands

Obtient le nombre de commandes non remises.

UndeliveredTransactions

Obtient le nombre de transactions non remises.

UseInProcLoader

Obtient ou définit une valeur qui indique s'il faut utiliser la commande BULK INSERT lors de l'application de fichiers d'instantanés à l'abonné.

WorkingDirectory

Obtient ou définit le répertoire de travail duquel les fichiers d'instantanés sont accessibles lorsque FTP (File Transmission Protocol) est utilisé.

Méthodes

Abort()

Annule l'opération de TransSynchronizationAgent.

Dispose()

Libère toutes les ressources utilisées par l'instance actuelle de la classe TransSynchronizationAgent.

Dispose(Boolean)

Libère toutes les ressources utilisées par la classe TransSynchronizationAgent.

Finalize()

Finalise TransSynchronizationAgent.

IsSnapshotRequired()

Se connecte au serveur de distribution et à l'Abonné pour déterminer si un nouvel instantané sera appliqué pendant la synchronisation suivante de l'agent.

Synchronize()

Démarre l'Agent de distribution pour synchroniser l'abonnement.

Événements

ComStatus

Se produit lorsque l'Agent de distribution retourne des informations sur l'état de la synchronisation.

Status

Se produit lorsque les Agents de distribution retournent des informations sur l'état de la synchronisation.

S’applique à

Cohérence de thread

La TransSynchronizationAgent classe ne prend pas en charge les appartements multithread. Vous pouvez spécifier un appartement à thread unique en déclarant l’attribut [STAThread] sur la méthode qui est le point d’entrée principal de l’application. Il s’agit de la valeur par défaut pour les applications Microsoft Windows créées à l’aide de Microsoft Visual Studio.