TransPullSubscription 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.
Représente un abonnement pull à une publication transactionnelle.
public ref class TransPullSubscription sealed : Microsoft::SqlServer::Replication::PullSubscription
public sealed class TransPullSubscription : Microsoft.SqlServer.Replication.PullSubscription
type TransPullSubscription = class
inherit PullSubscription
Public NotInheritable Class TransPullSubscription
Inherits PullSubscription
- Héritage
Exemples
// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksProductTran";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
//Create connections to the Publisher and Subscriber.
ServerConnection subscriberConn = new ServerConnection(subscriberName);
ServerConnection publisherConn = new ServerConnection(publisherName);
// Create the objects that we need.
TransPublication publication;
TransPullSubscription subscription;
try
{
// Connect to the Publisher and Subscriber.
subscriberConn.Connect();
publisherConn.Connect();
// Ensure that the publication exists and that
// it supports pull subscriptions.
publication = new TransPublication();
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
publication.ConnectionContext = publisherConn;
if (publication.IsExistingObject)
{
if ((publication.Attributes & PublicationAttributes.AllowPull) == 0)
{
publication.Attributes |= PublicationAttributes.AllowPull;
}
// Define the pull subscription.
subscription = new TransPullSubscription();
subscription.ConnectionContext = subscriberConn;
subscription.PublisherName = publisherName;
subscription.PublicationName = publicationName;
subscription.PublicationDBName = publicationDbName;
subscription.DatabaseName = subscriptionDbName;
// Specify the Windows login credentials for the Distribution Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
subscription.SynchronizationAgentProcessSecurity.Password = winPassword;
// Make sure that the agent job for the subscription is created.
subscription.CreateSyncAgentByDefault = true;
// By default, subscriptions to transactional publications are synchronized
// continuously, but in this case we only want to synchronize on demand.
subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand;
// Create the pull subscription at the Subscriber.
subscription.Create();
Boolean registered = false;
// Verify that the subscription is not already registered.
foreach (TransSubscription existing
in publication.EnumSubscriptions())
{
if (existing.SubscriberName == subscriberName
&& existing.SubscriptionDBName == subscriptionDbName)
{
registered = true;
}
}
if (!registered)
{
// Register the subscription with the Publisher.
publication.MakePullSubscriptionWellKnown(
subscriberName, subscriptionDbName,
SubscriptionSyncType.Automatic,
TransSubscriberType.ReadOnly);
}
}
else
{
// Do something here if the publication does not exist.
throw new ApplicationException(String.Format(
"The publication '{0}' does not exist on {1}.",
publicationName, publisherName));
}
}
catch (Exception ex)
{
// Implement the appropriate error handling here.
throw new ApplicationException(String.Format(
"The subscription to {0} could not be created.", publicationName), ex);
}
finally
{
subscriberConn.Disconnect();
publisherConn.Disconnect();
}
' Define the Publisher, publication, and databases.
Dim publicationName As String = "AdvWorksProductTran"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"
'Create connections to the Publisher and Subscriber.
Dim subscriberConn As ServerConnection = New ServerConnection(subscriberName)
Dim publisherConn As ServerConnection = New ServerConnection(publisherName)
' Create the objects that we need.
Dim publication As TransPublication
Dim subscription As TransPullSubscription
Try
' Connect to the Publisher and Subscriber.
subscriberConn.Connect()
publisherConn.Connect()
' Ensure that the publication exists and that
' it supports pull subscriptions.
publication = New TransPublication()
publication.Name = publicationName
publication.DatabaseName = publicationDbName
publication.ConnectionContext = publisherConn
If publication.IsExistingObject Then
If (publication.Attributes And PublicationAttributes.AllowPull) = 0 Then
publication.Attributes = publication.Attributes _
Or PublicationAttributes.AllowPull
End If
' Define the pull subscription.
subscription = New TransPullSubscription()
subscription.ConnectionContext = subscriberConn
subscription.PublisherName = publisherName
subscription.PublicationName = publicationName
subscription.PublicationDBName = publicationDbName
subscription.DatabaseName = subscriptionDbName
subscription.Description = "Pull subscription to " + publicationDbName _
+ " on " + subscriberName + "."
' Specify the Windows login credentials for the Distribution Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin
subscription.SynchronizationAgentProcessSecurity.Password = winPassword
' Make sure that the agent job for the subscription is created.
subscription.CreateSyncAgentByDefault = True
' By default, subscriptions to transactional publications are synchronized
' continuously, but in this case we only want to synchronize on demand.
subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand
' Create the pull subscription at the Subscriber.
subscription.Create()
Dim registered As Boolean = False
' Verify that the subscription is not already registered.
For Each existing As TransSubscription In publication.EnumSubscriptions()
If existing.SubscriberName = subscriberName And _
existing.SubscriptionDBName = subscriptionDbName Then
registered = True
End If
Next existing
If Not registered Then
' Register the subscription with the Publisher.
publication.MakePullSubscriptionWellKnown( _
subscriberName, subscriptionDbName, _
SubscriptionSyncType.Automatic, _
TransSubscriberType.ReadOnly)
End If
Else
' Do something here if the publication does not exist.
Throw New ApplicationException(String.Format( _
"The publication '{0}' does not exist on {1}.", _
publicationName, publisherName))
End If
Catch ex As Exception
' Implement the appropriate error handling here.
Throw New ApplicationException(String.Format( _
"The subscription to {0} could not be created.", publicationName), ex)
Finally
subscriberConn.Disconnect()
publisherConn.Disconnect()
End Try
Remarques
Pour un abonnement pull, l’Agent de Distribution s’exécute chez l’abonné.
Sécurité des threads
Tout membre statique public (Shareddans Microsoft Visual Basic) de ce type est sûr pour les opérations multithreads. Il n'y a aucune garantie que les membres d’instance soient thread-safe.
Constructeurs
| Nom | Description |
|---|---|
| TransPullSubscription() |
Crée une instance de la classe TransPullSubscription. |
| TransPullSubscription(String, String, String, String, ServerConnection, Boolean) |
Crée une nouvelle instance de la TransPullSubscription classe avec les propriétés qui définissent une abonnement pull, et s’il faut ou non créer le job agent pour l’abonnement. |
| TransPullSubscription(String, String, String, String, ServerConnection) |
Crée une nouvelle instance de la TransPullSubscription classe avec les propriétés qui définissent une abonnement pull. |
Propriétés
| Nom | Description |
|---|---|
| AgentJobId |
Obtient l’ID du job agent utilisé pour synchroniser l’abonnement. (Hérité de PullSubscription) |
| AgentOffload |
Obtient ou définit si l’agent de synchronisation s’exécute sur un ordinateur autre que celui où la tâche de l’agent a été créée. Cette propriété n’est plus prise en charge par les distributeurs fonctionnant sous Microsoft SQL Server 2005 et versions ultérieures. (Hérité de PullSubscription) |
| AgentOffloadServer |
Obtient ou définit le nom de l’ordinateur distant où l’agent s’exécute lors de l’activation de l’agent à distance. (Hérité de PullSubscription) |
| AgentSchedule |
Obtient le planning du job agent utilisé pour synchroniser l’abonnement. (Hérité de PullSubscription) |
| AltSnapshotFolder |
Obtient ou définit l’emplacement où les fichiers d’instantanés de publication sont obtenus lorsque l’emplacement par défaut du snapshot au Distributeur n’est pas utilisé. (Hérité de PullSubscription) |
| Attributes |
Obtient ou définit les attributs d’une publication transactionnelle qui sont pris en charge par l’abonnement. |
| CachePropertyChanges |
Obtient ou définit s’il faut mettre en cache les modifications apportées aux propriétés de réplication ou les appliquer immédiatement. (Hérité de ReplicationObject) |
| ConnectionContext |
Obtient ou définit la connexion vers une instance de Microsoft SQL Server. (Hérité de ReplicationObject) |
| CreateSyncAgentByDefault |
Obtient ou définit si le job agent utilisé pour lancer l’agent de réplication afin de synchroniser l’abonnement est créé lors de la création de l’abonnement. (Hérité de PullSubscription) |
| DatabaseName |
Obtient ou définit le nom de la base de données par abonnement. (Hérité de PullSubscription) |
| Description |
Obtient ou définit une description textuelle de l’abonnement à la tire. (Hérité de PullSubscription) |
| DistributorName |
Obtient ou définit l’instance de Microsoft SQL Server qui est le distributeur et distribue la publication à laquelle l’abonnement est abonné. (Hérité de PullSubscription) |
| DistributorSecurity |
Obtens le contexte de sécurité utilisé pour se connecter au distributeur. (Hérité de PullSubscription) |
| DtsPackageLocation |
Obtient ou définit l’emplacement du package Data Transformation Services (DTS) utilisé avec un abonnement transformable. |
| DtsPackageName |
Obtient ou définit le nom de package Data Transformation Services (DTS) utilisé dans un abonnement transformable. |
| DtsPackagePassword |
Obtient ou définit le mot de passe utilisé avec un abonnement transformable. |
| EnabledForSynchronizationManager |
Précise si l’abonnement peut être synchronisé ou non via le Gestionnaire de synchronisation Windows. (Hérité de PullSubscription) |
| FtpAddress |
Obtient ou définit l’adresse IP du serveur FTP. (Hérité de PullSubscription) |
| FtpLogin |
Obtient ou règle la connexion FTP. (Hérité de PullSubscription) |
| FtpPassword |
Obtient ou définit le mot de passe FTP. (Hérité de PullSubscription) |
| FtpPort |
Obtient ou définit le numéro de port du serveur FTP. (Hérité de PullSubscription) |
| IsExistingObject |
Ça détermine si l’objet existe sur le serveur ou non. (Hérité de ReplicationObject) |
| IsMemoryOptimized |
Représente un abonnement pull à une publication transactionnelle. (Hérité de PullSubscription) |
| LastAgentDateTime |
Il obtient la date et l’heure de la dernière synchronisation de l’abonnement. (Hérité de PullSubscription) |
| LastAgentStatus |
Obtient le statut de la synchronisation la plus récente de l’abonnement. (Hérité de PullSubscription) |
| LastAgentSummary |
Obtient un résumé du résultat de la synchronisation la plus récente de l’abonnement. (Hérité de PullSubscription) |
| LastSummaryDateTime |
Obtient la date et l’heure de la dernière synchronisation. |
| MemoryOptimized |
Représente un abonnement pull à une publication transactionnelle. |
| Name |
Ça génère le nom pour l’abonnement de tirage. (Hérité de PullSubscription) |
| PublicationDBName |
Obtient ou définit le nom de la base de données de publication. (Hérité de PullSubscription) |
| PublicationName |
Obtient ou définit le nom de la publication à laquelle l’abonnement est abonné. (Hérité de PullSubscription) |
| PublisherName |
Obtient ou définit le nom du Publisher. (Hérité de PullSubscription) |
| PublisherSecurity |
Obtient ou définit le contexte de sécurité utilisé par l’Agent de Synchronisation lors de la connexion au Publisher. (Hérité de PullSubscription) |
| SecureFtpPassword |
Obtient ou définit le mot de passe sécurisé pour la connexion utilisée pour se connecter au serveur FTP. (Hérité de PullSubscription) |
| SqlServerName |
Obtient le nom de l’instance Microsoft SQL Server à laquelle cet objet est connecté. (Hérité de ReplicationObject) |
| SubscriberSecurity |
Obtient le contexte de sécurité utilisé par l’Agent de Synchronisation lors de la connexion à l’abonné. (Hérité de PullSubscription) |
| SubscriberType |
Obtient ou définit le comportement de mise à jour de l’abonnement. |
| SubscriptionId |
Ça obtient la valeur de l’ID d’abonnement. (Hérité de PullSubscription) |
| SubscriptionType |
Ça détermine si l’inscription à l’abonnement est pour un abonnement push, pull ou anonyme. (Hérité de PullSubscription) |
| SynchronizationAgent |
Obtient un objet qui représente une instance de l’Agent Distribution pouvant être utilisée pour synchroniser l’abonnement. |
| SynchronizationAgentProcessSecurity |
Obtient le contexte de sécurité utilisé pour spécifier le compte Microsoft Windows sous lequel le job de l’agent de synchronisation s’exécute pour synchroniser l’abonnement. (Hérité de PullSubscription) |
| Type |
Obtient ou définit le type de publication. (Hérité de PullSubscription) |
| UseFtp |
Obtient ou définit si les fichiers instantanés nécessaires à l’initialisation de l’abonnement pull sont ou non accessibles par l’Agent de Synchronisation à l’aide du protocole de transfert de fichiers (FTP). (Hérité de PullSubscription) |
| UserData |
Obtient ou définit une propriété objet qui permet aux utilisateurs d’attacher leurs propres données à l’objet. (Hérité de ReplicationObject) |
| WorkingDirectory |
Obtient ou définit le chemin du répertoire à l’abonné utilisé pour stocker et décompresser temporairement les fichiers instantanés téléchargés. (Hérité de PullSubscription) |
Méthodes
| Nom | Description |
|---|---|
| CheckValidCreation() |
Vérifie la création valide de la réplication. (Hérité de ReplicationObject) |
| CheckValidDefinition(Boolean) |
Indique si la définition est valide. (Hérité de PullSubscription) |
| CommitPropertyChanges() |
Envoie toutes les instructions de modification de propriété mises en cache à l’instance de Microsoft SQL Server. (Hérité de ReplicationObject) |
| Create() |
Crée l’abonnement pull sur l’abonné. (Hérité de PullSubscription) |
| CustomEnabledForSyncMgr(StringBuilder) |
Permet la publication personnalisée pour le gestionnaire synchrone. (Hérité de PullSubscription) |
| Decouple() |
Découple l’objet de réplication référencé du serveur. (Hérité de ReplicationObject) |
| DoUpdateMemoryOptimizedProperty(String) |
Représente un abonnement pull à une publication transactionnelle. |
| GetChangeCommand(StringBuilder, String, String) |
Retourne la commande de changement de la réplication. (Hérité de ReplicationObject) |
| GetCreateCommand(StringBuilder, Boolean, ScriptOptions) |
Retourne la commande create de la réplication. (Hérité de ReplicationObject) |
| GetDropCommand(StringBuilder, Boolean) |
Retourne la commande drop de la réplication. (Hérité de ReplicationObject) |
| InitMemberVariables(String, String, String, String, Boolean) |
Initialise les variables membres. (Hérité de PullSubscription) |
| InternalRefresh(Boolean) |
Initie un rafraîchissement interne à partir de la réplication. (Hérité de ReplicationObject) |
| LastAgentJobHistoryInfo() |
Restitue les informations sur le dernier job de l’agent de synchronisation qui a été exécuté. (Hérité de PullSubscription) |
| Load() |
Charge les propriétés d’un objet existant depuis le serveur. (Hérité de ReplicationObject) |
| LoadProperties() |
Charge les propriétés d’un objet existant depuis le serveur. (Hérité de ReplicationObject) |
| Refresh() |
Recharge les propriétés de l’objet. (Hérité de ReplicationObject) |
| Reinitialize() |
Marque l’abonnement pull pour la réinitialisation. |
| Remove() |
Ça supprime l’abonnement de tirage. (Hérité de PullSubscription) |
| Script(ScriptOptions) |
Renvoie un script Transact-SQL pour créer ou supprimer l’abonnement pull en fonction du paramètre de propriété actuel de l’objet PullSubscription . (Hérité de PullSubscription) |
| StopSynchronizationJob() |
Tente d’arrêter un travail Agent de distribution en cours d’exécution qui synchronise actuellement l’abonnement. |
| SynchronizeWithJob() |
Lance le travail de l’agent pour synchroniser l’abonnement. |