TransPullSubscription Class
SQL Server 2012
Represents a pull subscription to a transactional publication.
System.Object
Microsoft.SqlServer.Replication.ReplicationObject
Microsoft.SqlServer.Replication.PullSubscription
Microsoft.SqlServer.Replication.TransPullSubscription
Microsoft.SqlServer.Replication.ReplicationObject
Microsoft.SqlServer.Replication.PullSubscription
Microsoft.SqlServer.Replication.TransPullSubscription
Namespace: Microsoft.SqlServer.Replication
Assembly: Microsoft.SqlServer.Rmo (in Microsoft.SqlServer.Rmo.dll)
The TransPullSubscription type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | TransPullSubscription() | Creates a new instance of the TransPullSubscription class. |
![]() | TransPullSubscription(String, String, String, String, ServerConnection) | Creates a new instance of the TransPullSubscription class with the properties that define a pull subscription. |
![]() | TransPullSubscription(String, String, String, String, ServerConnection, Boolean) | Creates a new instance of the TransPullSubscription class with the properties that define a pull subscription, and whether or not to create the agent job for the subscription. |
| Name | Description | |
|---|---|---|
![]() | AgentJobId | Gets the ID of the agent job used to synchronize the subscription. (Inherited from PullSubscription.) |
![]() | AgentOffload | Gets or sets whether or not the Synchronization Agent runs on a computer other than the one where the agent job was created. This property is no longer supported for Distributors running Microsoft SQL Server 2005 and later. (Inherited from PullSubscription.) |
![]() | AgentOffloadServer | Gets or sets the name of the remote computer where the agent runs when using remote agent activation. (Inherited from PullSubscription.) |
![]() | AgentSchedule | Gets the schedule for the agent job used to synchronize the subscription. (Inherited from PullSubscription.) |
![]() | AltSnapshotFolder | Gets or sets the location where the publication snapshot files are obtained when the default snapshot location at the Distributor is not used. (Inherited from PullSubscription.) |
![]() | Attributes | Gets or sets the attributes of a transactional publication that are supported by the subscription. |
![]() | CachePropertyChanges | Gets or sets whether to cache changes made to the replication properties or to apply them immediately. (Inherited from ReplicationObject.) |
![]() | ConnectionContext | Gets or sets the connection to an instance of Microsoft SQL Server. (Inherited from ReplicationObject.) |
![]() | CreateSyncAgentByDefault | Gets or sets whether or not the agent job used to start the Replication Agent to synchronize the subscription is created when the subscription is created. (Inherited from PullSubscription.) |
![]() | DatabaseName | Gets or sets the name of the subscription database. (Inherited from PullSubscription.) |
![]() | Description | Gets or sets a textual description of the pull subscription. (Inherited from PullSubscription.) |
![]() | DistributorName | Gets or sets the instance of Microsoft SQL Server that is the Distributor and is distributing the publication to which the subscription subscribes. (Inherited from PullSubscription.) |
![]() | DistributorSecurity | Gets the security context used to connect to the Distributor. (Inherited from PullSubscription.) |
![]() | DtsPackageLocation | Gets or sets the location of the Data Transformation Services (DTS) package used with a transformable subscription. |
![]() | DtsPackageName | Gets or sets the Data Transformation Services (DTS) package name used in a transformable subscription. |
![]() | DtsPackagePassword | Sets the password that is used with a transformable subscription. |
![]() | EnabledForSynchronizationManager | Specifies whether or not the subscription can be synchronized using Windows Synchronization Manager. (Inherited from PullSubscription.) |
![]() | FtpAddress | Infrastructure. Gets or sets the IP address of the FTP server. (Inherited from PullSubscription.) |
![]() | FtpLogin | Infrastructure. Gets or sets the FTP login. (Inherited from PullSubscription.) |
![]() | FtpPassword | Infrastructure. Gets or sets the FTP password. (Inherited from PullSubscription.) |
![]() | FtpPort | Infrastructure. Gets or sets the port number for the FTP server. (Inherited from PullSubscription.) |
![]() | IsExistingObject | Gets whether the object exists on the server or not. (Inherited from ReplicationObject.) |
![]() | LastAgentDateTime | Gets the date and time when the subscription was last synchronized. (Inherited from PullSubscription.) |
![]() | LastAgentStatus | Gets the status of the most recent synchronization of the subscription. (Inherited from PullSubscription.) |
![]() | LastAgentSummary | Gets a summary of the result of the most recent synchronization of the subscription. (Inherited from PullSubscription.) |
![]() | LastSummaryDateTime | Gets the date and time that the last synchronization was completed. |
![]() | Name | Gets the name generated for the pull subscription. (Inherited from PullSubscription.) |
![]() | PublicationDBName | Gets or sets the name of the publication database. (Inherited from PullSubscription.) |
![]() | PublicationName | Gets or sets the name of the publication to which the subscription subscribes. (Inherited from PullSubscription.) |
![]() | PublisherName | Gets or sets the name of the Publisher. (Inherited from PullSubscription.) |
![]() | PublisherSecurity | Gets or sets the security context used by the Synchronization Agent when connecting to the Publisher. (Inherited from PullSubscription.) |
![]() | SecureFtpPassword | Infrastructure. Gets or sets the secured password for the login used to connect to the FTP server. (Inherited from PullSubscription.) |
![]() | SqlServerName | Gets the name of the Microsoft SQL Server instance to which this object is connected. (Inherited from ReplicationObject.) |
![]() | SubscriberSecurity | Gets the security context that is used by the Synchronization Agent when connecting to the Subscriber. (Inherited from PullSubscription.) |
![]() | SubscriberType | Gets or sets the updating behavior of the subscription. |
![]() | SubscriptionId | Gets the subscription ID value. (Inherited from PullSubscription.) |
![]() | SubscriptionType | Gets whether the subscription registration is for a push, pull, or anonymous subscription. (Inherited from PullSubscription.) |
![]() | SynchronizationAgent | Gets an object that represents an instance of the Distribution Agent that can be used to synchronize the subscription. |
![]() | SynchronizationAgentProcessSecurity | Gets the security context that is used to specify the Microsoft Windows account under which the Synchronization Agent job runs to synchronize the subscription. (Inherited from PullSubscription.) |
![]() | Type | Infrastructure. Gets or sets the publication type. (Inherited from PullSubscription.) |
![]() | UseFtp | Gets or sets whether or not the snapshot files needed to initialize the pull subscription are accessed by the Synchronization Agent using File Transfer Protocol (FTP). (Inherited from PullSubscription.) |
![]() | UserData | Gets or sets an object property that allows users to attach their own data to the object. (Inherited from ReplicationObject.) |
![]() | WorkingDirectory | Gets or sets the path of the directory at the Subscriber that is used to temporarily store and decompress downloaded snapshot files. (Inherited from PullSubscription.) |
| Name | Description | |
|---|---|---|
![]() | CheckValidCreation | Infrastructure. Checks the valid replication creation. (Inherited from ReplicationObject.) |
![]() | CheckValidDefinition | Infrastructure. Indicates whether the definition if valid. (Inherited from PullSubscription.) |
![]() | CommitPropertyChanges | Sends all the cached property change statements to the instance of Microsoft SQL Server. (Inherited from ReplicationObject.) |
![]() | Create | Creates the pull subscription on the Subscriber. (Inherited from PullSubscription.) |
![]() | CustomEnabledForSyncMgr | Infrastructure. Enables the custom publication for synchronous manager. (Inherited from PullSubscription.) |
![]() | Decouple | Decouples the referenced replication object from the server. (Inherited from ReplicationObject.) |
![]() | Equals | (Inherited from Object.) |
![]() | Finalize | (Inherited from Object.) |
![]() | GetChangeCommand | Infrastructure. Returns the change command from the replication. (Inherited from ReplicationObject.) |
![]() | GetCreateCommand | Infrastructure. Returns the create command from the replication. (Inherited from ReplicationObject.) |
![]() | GetDropCommand | Infrastructure. Returns the drop command from the replication. (Inherited from ReplicationObject.) |
![]() | GetHashCode | (Inherited from Object.) |
![]() | GetType | (Inherited from Object.) |
![]() | InitMemberVariables | Infrastructure. Initializes the member variables. (Inherited from PullSubscription.) |
![]() | InternalRefresh | Infrastructure. Initiates an internal refresh from the replication. (Inherited from ReplicationObject.) |
![]() | LastAgentJobHistoryInfo | Returns information on the last Synchronization Agent job that was run. (Inherited from PullSubscription.) |
![]() | Load | Loads the properties of an existing object from the server. (Inherited from ReplicationObject.) |
![]() | LoadProperties | Loads the properties of an existing object from the server. (Inherited from ReplicationObject.) |
![]() | MemberwiseClone | (Inherited from Object.) |
![]() | Refresh | Reloads the properties of the object. (Inherited from ReplicationObject.) |
![]() | Reinitialize | Marks the pull subscription for reinitialization. |
![]() | Remove | Removes the pull subscription. (Inherited from PullSubscription.) |
![]() | Script | Returns a Transact-SQL script to create or delete the pull subscription based on the current property setting of the PullSubscription object. (Inherited from PullSubscription.) |
![]() | StopSynchronizationJob | Attempts to stop a running Distribution Agent job that is currently synchronizing the subscription. (Overrides PullSubscription.StopSynchronizationJob().) |
![]() | SynchronizeWithJob | Starts the agent job to synchronize the subscription. (Overrides PullSubscription.SynchronizeWithJob().) |
![]() | ToString | (Inherited from Object.) |
// 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
