TransSynchronizationAgent Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.