TransSubscription 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 push à une publication transactionnelle ou snapshot.
public ref class TransSubscription sealed : Microsoft::SqlServer::Replication::Subscription
public sealed class TransSubscription : Microsoft.SqlServer.Replication.Subscription
type TransSubscription = class
inherit Subscription
Public NotInheritable Class TransSubscription
Inherits Subscription
- 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 a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);
// Create the objects that we need.
TransPublication publication;
TransSubscription subscription;
try
{
// Connect to the Publisher.
conn.Connect();
// Ensure that the publication exists and that
// it supports push subscriptions.
publication = new TransPublication();
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
publication.ConnectionContext = conn;
if (publication.IsExistingObject)
{
if ((publication.Attributes & PublicationAttributes.AllowPush) == 0)
{
publication.Attributes |= PublicationAttributes.AllowPush;
}
// Define the push subscription.
subscription = new TransSubscription();
subscription.ConnectionContext = conn;
subscription.SubscriberName = subscriberName;
subscription.PublicationName = publicationName;
subscription.DatabaseName = publicationDbName;
subscription.SubscriptionDBName = subscriptionDbName;
// Specify the Windows login credentials for the Distribution Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
subscription.SynchronizationAgentProcessSecurity.Password = winPassword;
// 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 push subscription.
subscription.Create();
}
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
{
conn.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 a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)
' Create the objects that we need.
Dim publication As TransPublication
Dim subscription As TransSubscription
Try
' Connect to the Publisher.
conn.Connect()
' Ensure that the publication exists and that
' it supports push subscriptions.
publication = New TransPublication()
publication.Name = publicationName
publication.DatabaseName = publicationDbName
publication.ConnectionContext = conn
If publication.IsExistingObject Then
If (publication.Attributes And PublicationAttributes.AllowPush) = 0 Then
publication.Attributes = publication.Attributes _
Or PublicationAttributes.AllowPush
End If
' Define the push subscription.
subscription = New TransSubscription()
subscription.ConnectionContext = conn
subscription.SubscriberName = subscriberName
subscription.PublicationName = publicationName
subscription.DatabaseName = publicationDbName
subscription.SubscriptionDBName = subscriptionDbName
' Specify the Windows login credentials for the Distribution Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin
subscription.SynchronizationAgentProcessSecurity.Password = winPassword
' 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 push subscription.
subscription.Create()
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
conn.Disconnect()
End Try
Remarques
Lors de la configuration d’un Publisher avec un distributeur distant, les valeurs fournies pour tous les paramètres, y compris SynchronizationAgentProcessSecurity, sont envoyées au distributeur sous forme de texte brut. Vous devez chiffrer la connexion entre le serveur de publication et son serveur de distribution distant avant d'appeler la méthode Create . Pour plus d’informations, voir sp_reinitsubscription (Transact-SQL).
Lorsque l’abonnement appartient à une non-SQL Server Publisher, la ConnectionContext propriété est définie sur le Distributeur au lieu de Publisher, la DatabaseName propriété est définie sur la base de données de distribution au lieu de la base de données de publication, et la PublisherName propriété est définie sur le nom du non-SQL Server Publisher.
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 |
|---|---|
| TransSubscription() |
Crée une instance de la classe TransSubscription. |
| TransSubscription(String, String, String, String, ServerConnection) |
Crée une nouvelle instance de la TransSubscription classe avec la publication, la base de données, la base de données Abonné et l’Abonné spécifiées, ainsi qu’avec la connexion spécifiée à l’instance de Microsoft SQL Server. |
Propriétés
| Nom | Description |
|---|---|
| AgentJobId |
Obtient l’ID du job agent utilisé pour synchroniser l’abonnement. (Hérité de Subscription) |
| 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 Subscription) |
| 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 Subscription) |
| AgentSchedule |
Obtient le planning du job agent utilisé pour synchroniser l’abonnement. (Hérité de Subscription) |
| BackupInformation |
Obtient ou définit les informations nécessaires pour initialiser un abonnement à partir d’une sauvegarde. |
| 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étermine si le job agent utilisé pour synchroniser l’abonnement est créé par défaut. (Hérité de Subscription) |
| DatabaseName |
Obtient ou définit le nom de la base de données de publication. (Hérité de Subscription) |
| DtsPackageLocation |
Obtient ou définit l’emplacement du paquet Microsoft SQL Server 2000 Data Transformation Services (DTS). |
| DtsPackageName |
Obtient ou définit le nom du paquet Microsoft SQL Server 2000 Data Transformation Services (DTS) qui est appliqué à l’abonné. |
| DtsPackagePassword |
Définit le mot de passe utilisé pour exécuter le paquet Microsoft SQL Server 2000 Data Transformation Services (DTS). |
| EnabledForSynchronizationManager |
Précise si l’abonnement peut être synchronisé via Microsoft Windows Gestionnaire de synchronisation. (Hérité de Subscription) |
| FullSubscription |
Reçoit une valeur qui indique si l’abonnement est complet. |
| IsExistingObject |
Ça détermine si l’objet existe sur le serveur ou non. (Hérité de ReplicationObject) |
| LoopBackDetection |
Obtient ou détermine si l’Agent de Distribution renvoie ou non les transactions provenant de l’abonné à ce dernier. |
| MemoryOptimized |
Représente un abonnement push à une publication transactionnelle ou snapshot. |
| Name |
On attribue le nom à un abonnement existant. (Hérité de Subscription) |
| PublicationName |
Obtient ou définit le nom de la publication à laquelle l’abonnement est abonné. (Hérité de Subscription) |
| PublisherName |
Obtient ou définit le nom du Publisher lorsque l’abonnement appartient à un non-SQL Server Publisher. |
| SecureDtsPackagePassword |
Définit le mot de passe (sous forme d’objetSecureString) utilisé pour exécuter le package Microsoft SQL Server 2000 Data Transformation Services (DTS). |
| SqlServerName |
Obtient le nom de l’instance Microsoft SQL Server à laquelle cet objet est connecté. (Hérité de ReplicationObject) |
| Status |
On obtient le statut de l’abonnement. (Hérité de Subscription) |
| SubscriberCatalog |
Obtient ou définit le catalogue utilisé lors d’une connexion au fournisseur OLE DB pour un abonné non-SQL Server. |
| SubscriberDatasource |
Nom de la source de données tel qu’compris par le fournisseur OLE DB pour un abonné non-SQL Server. |
| SubscriberDatasourceType |
Identifie le type de source de données qui est un abonné non-SQL Server. |
| SubscriberLocation |
Emplacement de la base de données tel qu’compris par le fournisseur OLE DB pour l’abonné non-SQL Server. |
| SubscriberName |
Obtient ou définit le nom de l’instance de Microsoft SQL Server qui est l’abonné. (Hérité de Subscription) |
| SubscriberProvider |
Identifiant programmatique unique (PROGID) avec lequel le fournisseur OLE DB pour l’abonné non-SQL Server est enregistré |
| SubscriberProviderString |
La chaîne de connexion spécifique au fournisseur OLE DB est utilisée pour se connecter à la source de données pour les abonnés non SQL Server. |
| SubscriberSecurity |
Obtient le contexte de sécurité utilisé pour se connecter à l’abonné. (Hérité de Subscription) |
| SubscriberType |
Obtient ou définit le comportement de mise à jour pour les modifications de données chez l’abonné. |
| SubscriptionDBName |
Obtient ou définit le nom de la base de données sur l’abonné qui reçoit les données répliquées. (Hérité de Subscription) |
| SubscriptionLSN |
Obtient ou définit le numéro de séquence de journal de l’abonnement. |
| SubscriptionType |
Cela détermine si l’inscription à l’abonnement est un abonnement push ou pull. (Hérité de Subscription) |
| SynchronizationAgent |
Obtient une instance de la TransSynchronizationAgent classe qui peut être utilisée pour synchroniser l’abonnement. |
| SynchronizationAgentName |
Obtient ou définit le nom du job agent créé pour synchroniser l’abonnement. (Hérité de Subscription) |
| SynchronizationAgentProcessSecurity |
Obtient le contexte de sécurité utilisé pour spécifier le compte Microsoft Windows sous lequel le job agent de synchronisation s’exécute pour synchroniser l’abonnement. (Hérité de Subscription) |
| SyncType |
Obtient ou définit la manière dont l’abonnement est initialisé. (Hérité de Subscription) |
| 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) |
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 par abonnement est valide. (Hérité de Subscription) |
| 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’inscription à l’abonnement chez l’Publisher. (Hérité de Subscription) |
| Decouple() |
Découple l’objet de réplication référencé du serveur. (Hérité de ReplicationObject) |
| DoUpdateMemoryOptimizedProperty(String) |
Représente un abonnement push à une publication transactionnelle ou snapshot. |
| 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) |
| InternalRefresh(Boolean) |
Initie un rafraîchissement interne à partir de la réplication. (Hérité de ReplicationObject) |
| 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 pour la réinitialisation la prochaine fois que l’Agent Distribution s’exécute pour synchroniser l’abonnement. |
| Reinitialize(Boolean) |
Réinitialise l’abonnement. |
| Remove() |
Supprime l’enregistrement d’abonnement au Publisher et supprime les objets de réplication auprès de l’abonné pour un abonnement push. (Hérité de Subscription) |
| Script(ScriptOptions) |
Retourne un script Transact-SQL qui peut être utilisé pour créer ou supprimer l’abonnement. (Hérité de Subscription) |
| 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. |