TransSubscription Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt ein Push-Abonnement für eine transaktionale oder Snapshot-Publikation dar.
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
- Vererbung
Beispiele
// 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
Hinweise
Beim Konfigurieren eines Publisher mit einem entfernten Distributor werden die für alle Parameter angegebenen Werte, einschließlich SynchronizationAgentProcessSecurity, als Klartext an den Distributor gesendet. Sie sollten die Verbindung zwischen dem Verleger und dem zugehörigen Remoteverteiler verschlüsseln, bevor Sie die Create-Methode aufrufen. Weitere Informationen finden Sie unter sp_reinitsubscription (Transact-SQL).
Wenn das Abonnement zu einem Nicht-SQL Server Publisher gehört, wird die ConnectionContext Eigenschaft auf den Verteiler statt auf Publisher gesetzt, die DatabaseName Eigenschaft auf die Verteilungsdatenbank statt auf die Publikationsdatenbank und die PublisherName Eigenschaft auf den Namen der Nicht-SQL Server Publisher.
Threadsicherheit
Alle öffentlichen statischen (Shared in Microsoft Visual Basic) Mitglieder dieses Typs sind für Multithread-Operationen sicher. Instanzenmitglieder sind nicht garantiert threadsicher.
Konstruktoren
| Name | Beschreibung |
|---|---|
| TransSubscription() |
Erstellt eine neue Instanz der TransSubscription Klasse. |
| TransSubscription(String, String, String, String, ServerConnection) |
Erstellt eine neue Instanz der TransSubscription Klasse mit der angegebenen Publikation, Datenbank, Subscriber und Subscriber-Datenbank sowie mit der angegebenen Verbindung zur Instanz des Microsoft SQL Server. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AgentJobId |
Erhält die ID des Agentenjobs, der zur Synchronisierung des Abonnements verwendet wurde. (Geerbt von Subscription) |
| AgentOffload |
Erhält oder setzt fest, ob der Synchronisationsagent auf einem anderen Computer läuft als dem, auf dem der Agent-Job erstellt wurde. Diese Eigenschaft wird für Distributoren, die Microsoft SQL Server 2005 und später ausführen, nicht mehr unterstützt. (Geerbt von Subscription) |
| AgentOffloadServer |
Erhält oder setzt den Namen des entfernten Computers, auf dem der Agent läuft, wenn die Fernagentenaktivierung verwendet wird. (Geerbt von Subscription) |
| AgentSchedule |
Erhält den Zeitplan für den Agentenjob, der zur Synchronisierung des Abonnements verwendet wird. (Geerbt von Subscription) |
| BackupInformation |
Erhält oder setzt Informationen, die benötigt werden, um ein Abonnement aus einem Backup zu initialisieren. |
| CachePropertyChanges |
Es gibt oder setzt, ob Änderungen an den Replikationseigenschaften zwischengespeichert oder sofort angewendet werden. (Geerbt von ReplicationObject) |
| ConnectionContext |
Erhält oder setzt die Verbindung zu einer Instanz von Microsoft SQL Server. (Geerbt von ReplicationObject) |
| CreateSyncAgentByDefault |
Erhält oder setzt fest, ob der Agent-Job, der zur Synchronisierung des Abonnements verwendet wird, standardmäßig erstellt wird. (Geerbt von Subscription) |
| DatabaseName |
Erhält oder setzt den Namen der Publikationsdatenbank. (Geerbt von Subscription) |
| DtsPackageLocation |
Erhält oder legt den Standort des Microsoft SQL Server 2000 Data Transformation Services (DTS)-Pakets fest. |
| DtsPackageName |
Erhält oder setzt den Namen des Microsoft SQL Server 2000 Data Transformation Services (DTS)-Pakets, das beim Abonnenten angewendet wird. |
| DtsPackagePassword |
Legt das Passwort fest, das zum Ausführen des Microsoft SQL Server 2000 Data Transformation Services (DTS)-Pakets verwendet wird. |
| EnabledForSynchronizationManager |
Spezifiziert, ob das Abonnement mit Microsoft Windows Synchronization Manager synchronisiert werden kann. (Geerbt von Subscription) |
| FullSubscription |
Erhält einen Wert, der anzeigt, ob das Abonnement voll ist. |
| IsExistingObject |
Es bekommt, ob das Objekt auf dem Server existiert oder nicht. (Geerbt von ReplicationObject) |
| LoopBackDetection |
Erhält oder bestimmt, ob der Verteilungs-Agent Transaktionen, die vom Abonnenten stammen, an den Abonnenten zurücksendet. |
| MemoryOptimized |
Stellt ein Push-Abonnement für eine transaktionale oder Snapshot-Publikation dar. |
| Name |
Der Name wird einem bestehenden Abonnement zugewiesen. (Geerbt von Subscription) |
| PublicationName |
Erhält oder setzt den Namen der Publikation, für die der Abonnent abonniert ist. (Geerbt von Subscription) |
| PublisherName |
Erhält oder setzt den Namen der Publisher, wenn das Abonnement zu einem Nicht-SQL Server Publisher gehört. |
| SecureDtsPackagePassword |
Legt das Passwort (als SecureString Objekt) fest, das zur Ausführung des Microsoft SQL Server 2000 Data Transformation Services (DTS)-Pakets verwendet wird. |
| SqlServerName |
Erhält den Namen der Microsoft SQL Server-Instanz, mit der dieses Objekt verbunden ist. (Geerbt von ReplicationObject) |
| Status |
Erhält den Status des Abonnements. (Geerbt von Subscription) |
| SubscriberCatalog |
Erhält oder setzt den Katalog, der bei der Verbindung zum OLE-Datenbankanbieter für einen Nicht-SQL Server-Abonnenten verwendet wird. |
| SubscriberDatasource |
Name der Datenquelle, wie er vom OLE-Datenbankanbieter für einen Nicht-SQL Server-Abonnenten verstanden wird. |
| SubscriberDatasourceType |
Identifiziert die Art der Datenquelle, die ein Nicht-SQL Server-Abonnent ist. |
| SubscriberLocation |
Standort der Datenbank, wie er vom OLE-Datenbankanbieter für den Nicht-SQL Server-Abonnenten verstanden wird. |
| SubscriberName |
Erhält oder setzt den Namen der Instanz des Microsoft SQL Server, die der Abonnent ist. (Geerbt von Subscription) |
| SubscriberProvider |
Eindeutige programmatische Kennung (PROGID), bei der der OLE-Datenbankanbieter für den Nicht-SQL Server-Abonnenten registriert ist |
| SubscriberProviderString |
Der OLE-DB-spezifische Verbindungszeichenfolge wird verwendet, um für Abonnenten, die nicht SQL Server sind, mit der Datenquelle zu verbinden. |
| SubscriberSecurity |
Erhält den Sicherheitskontext, der zur Verbindung mit dem Abonnenten verwendet wird. (Geerbt von Subscription) |
| SubscriberType |
Erhält oder setzt das Aktualisierungsverhalten für Datenänderungen beim Abonnenten. |
| SubscriptionDBName |
Erhält oder setzt den Namen der Datenbank auf dem Abonnenten, der die replizierten Daten empfängt. (Geerbt von Subscription) |
| SubscriptionLSN |
Erhält oder setzt die Log-Sequenznummer des Abonnements. |
| SubscriptionType |
Es wird verraten, ob die Abonnementregistrierung für ein Push- oder Pull-Abonnement gilt. (Geerbt von Subscription) |
| SynchronizationAgent |
Erhält eine Instanz der Klasse TransSynchronizationAgent , die zur Synchronisation des Abonnements verwendet werden kann. |
| SynchronizationAgentName |
Erhält oder setzt den Namen des Agentenjobs, der zur Synchronisierung des Abonnements erstellt wurde. (Geerbt von Subscription) |
| SynchronizationAgentProcessSecurity |
Erhält den Sicherheitskontext, der verwendet wird, um das Microsoft Windows Konto anzugeben, unter dem der Synchronisationsagenten-Job zur Synchronisierung des Abonnements ausgeführt wird. (Geerbt von Subscription) |
| SyncType |
Erhält oder setzt die Art und Weise, wie das Abonnement initialisiert wird. (Geerbt von Subscription) |
| UserData |
Erhält oder setzt eine Objekt-Eigenschaft, die es Nutzern erlaubt, eigene Daten an das Objekt anzuhängen. (Geerbt von ReplicationObject) |
Methoden
| Name | Beschreibung |
|---|---|
| CheckValidCreation() |
Prüft die gültige Replikationserstellung. (Geerbt von ReplicationObject) |
| CheckValidDefinition(Boolean) |
Gibt an, ob die Abonnementdefinition gültig ist. (Geerbt von Subscription) |
| CommitPropertyChanges() |
Sendet alle zwischengespeicherten Property-Change-Anweisungen an die Instanz von Microsoft SQL Server. (Geerbt von ReplicationObject) |
| Create() |
Erstellt die Abonnementregistrierung beim Publisher. (Geerbt von Subscription) |
| Decouple() |
Entkoppelt das referenzierte Replikationsobjekt vom Server. (Geerbt von ReplicationObject) |
| DoUpdateMemoryOptimizedProperty(String) |
Stellt ein Push-Abonnement für eine transaktionale oder Snapshot-Publikation dar. |
| GetChangeCommand(StringBuilder, String, String) |
Gibt den Änderungsbefehl aus der Replikation zurück. (Geerbt von ReplicationObject) |
| GetCreateCommand(StringBuilder, Boolean, ScriptOptions) |
Gibt den Create-Befehl aus der Replikation zurück. (Geerbt von ReplicationObject) |
| GetDropCommand(StringBuilder, Boolean) |
Gibt den Drop-Befehl aus der Replikation zurück. (Geerbt von ReplicationObject) |
| InternalRefresh(Boolean) |
Führt eine interne Aktualisierung aus der Replikation ein. (Geerbt von ReplicationObject) |
| Load() |
Lädt die Eigenschaften eines bestehenden Objekts vom Server. (Geerbt von ReplicationObject) |
| LoadProperties() |
Lädt die Eigenschaften eines bestehenden Objekts vom Server. (Geerbt von ReplicationObject) |
| Refresh() |
Lädt die Eigenschaften des Objekts neu. (Geerbt von ReplicationObject) |
| Reinitialize() |
Markiert das Abonnement zur Neuinitialisierung beim nächsten Mal beim Synchronisieren des Verteilungs-Agent. |
| Reinitialize(Boolean) |
Initialisiert das Abonnement erneut. |
| Remove() |
Löscht die Abonnementregistrierung beim Publisher und entfernt die Replikationsobjekte beim Subscriber für ein Push-Abonnement. (Geerbt von Subscription) |
| Script(ScriptOptions) |
Gibt ein Transact-SQL Skript zurück, das zum Erstellen oder Löschen des Abonnements verwendet werden kann. (Geerbt von Subscription) |
| StopSynchronizationJob() |
Versucht, einen laufenden Verteilungs-Agent-Job zu stoppen, der gerade das Abonnement synchronisiert. |
| SynchronizeWithJob() |
Es startet den Agentenjob, um das Abonnement zu synchronisieren. |