RegisteredSubscriberCollection Class
Represents a collection of RegisteredSubscriber objects.
Microsoft.SqlServer.Replication.ReplicationBaseCollection
Microsoft.SqlServer.Replication.RegisteredSubscriberCollection
Namespace: Microsoft.SqlServer.Replication
Assembly: Microsoft.SqlServer.Rmo (in Microsoft.SqlServer.Rmo.dll)
The RegisteredSubscriberCollection type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Count | Gets the number of objects in the referenced collection. (Inherited from ReplicationBaseCollection.) |
![]() | IsSynchronized | Gets whether or not access to the collection is synchronized and is therefore thread-safe. (Inherited from ReplicationBaseCollection.) |
![]() | Item[Int32] | Gets a RegisteredSubscriber object in the collection by index number. |
![]() | Item[String] | Gets a RegisteredSubscriber object in the collection by name. |
![]() | SyncRoot | Gets an object that can be used to synchronize access to the collection. (Inherited from ReplicationBaseCollection.) |
| Name | Description | |
|---|---|---|
![]() | CopyTo(Array, Int32) | Copies the collection to an array. (Inherited from ReplicationBaseCollection.) |
![]() | CopyTo(RegisteredSubscriberCollection, Int32) | Makes a copy of the collection. |
![]() | Equals | (Inherited from Object.) |
![]() | Finalize | (Inherited from Object.) |
![]() | GetEnumerator | Gets an enumerator that is used to iterate through the objects in a collection. (Inherited from ReplicationBaseCollection.) |
![]() | GetHashCode | (Inherited from Object.) |
![]() | GetType | (Inherited from Object.) |
![]() | InitList | Infrastructure. Initializes collection of replication base. (Inherited from ReplicationBaseCollection.) |
![]() | MemberwiseClone | (Inherited from Object.) |
![]() | Refresh | Refreshes the collection. (Inherited from ReplicationBaseCollection.) |
![]() | ToString | (Inherited from Object.) |
A RegisteredSubscriber object in the collection can be accessed from the Microsoft.SqlServer.Replication.RegisteredSubscriberCollection.Item property using an [Int32] index value or using a [String] index value that is the Subscriber name.
This namespace, class, or member is supported only in version 2.0 of the .NET Framework.
Thread Safety
Any public static (Shared in Microsoft Visual Basic) members of this type are safe for multithreaded operations. Any instance members are not guaranteed to be thread safe.
This example shows how to check the number of RegisteredSubscriber objects in the RegisteredSubscriberCollection accessed from the RegisteredSubscribers property.
// Set the Distributor and publication database names. // Publisher and Distributor are on the same server instance. string publisherName = publisherInstance; string distributorName = publisherInstance; string distributionDbName = "distribution"; string publicationDbName = "AdventureWorks2012"; // Create connections to the Publisher and Distributor // using Windows Authentication. ServerConnection publisherConn = new ServerConnection(publisherName); ServerConnection distributorConn = new ServerConnection(distributorName); // Create the objects we need. ReplicationServer distributor = new ReplicationServer(distributorConn); DistributionPublisher publisher; DistributionDatabase distributionDb = new DistributionDatabase(distributionDbName, distributorConn); ReplicationDatabase publicationDb; publicationDb = new ReplicationDatabase(publicationDbName, publisherConn); try { // Connect to the Publisher and Distributor. publisherConn.Connect(); distributorConn.Connect(); // Disable all publishing on the AdventureWorks2012 database. if (publicationDb.LoadProperties()) { if (publicationDb.EnabledMergePublishing) { publicationDb.EnabledMergePublishing = false; } else if (publicationDb.EnabledTransPublishing) { publicationDb.EnabledTransPublishing = false; } } else { throw new ApplicationException( String.Format("The {0} database does not exist.", publicationDbName)); } // We cannot uninstall the Publisher if there are still Subscribers. if (distributor.RegisteredSubscribers.Count == 0) { // Uninstall the Publisher, if it exists. publisher = new DistributionPublisher(publisherName, distributorConn); if (publisher.LoadProperties()) { publisher.Remove(false); } else { // Do something here if the Publisher does not exist. throw new ApplicationException(String.Format( "{0} is not a Publisher for {1}.", publisherName, distributorName)); } // Drop the distribution database. if (distributionDb.LoadProperties()) { distributionDb.Remove(); } else { // Do something here if the distribition DB does not exist. throw new ApplicationException(String.Format( "The distribution database '{0}' does not exist on {1}.", distributionDbName, distributorName)); } // Uninstall the Distributor, if it exists. if (distributor.LoadProperties()) { // Passing a value of false means that the Publisher // and distribution databases must already be uninstalled, // and that no local databases be enabled for publishing. distributor.UninstallDistributor(false); } else { //Do something here if the distributor does not exist. throw new ApplicationException(String.Format( "The Distributor '{0}' does not exist.", distributorName)); } } else { throw new ApplicationException("You must first delete all subscriptions."); } } catch (Exception ex) { // Implement appropriate error handling here. throw new ApplicationException("The Publisher and Distributor could not be uninstalled", ex); } finally { publisherConn.Disconnect(); distributorConn.Disconnect(); }
' Set the Distributor and publication database names. ' Publisher and Distributor are on the same server instance. Dim publisherName As String = publisherInstance Dim distributorName As String = subscriberInstance Dim distributionDbName As String = "distribution" Dim publicationDbName As String = "AdventureWorks2012" ' Create connections to the Publisher and Distributor ' using Windows Authentication. Dim publisherConn As ServerConnection = New ServerConnection(publisherName) Dim distributorConn As ServerConnection = New ServerConnection(distributorName) ' Create the objects we need. Dim distributor As ReplicationServer distributor = New ReplicationServer(distributorConn) Dim publisher As DistributionPublisher Dim distributionDb As DistributionDatabase distributionDb = New DistributionDatabase(distributionDbName, distributorConn) Dim publicationDb As ReplicationDatabase publicationDb = New ReplicationDatabase(publicationDbName, publisherConn) Try ' Connect to the Publisher and Distributor. publisherConn.Connect() distributorConn.Connect() ' Disable all publishing on the AdventureWorks2012 database. If publicationDb.LoadProperties() Then If publicationDb.EnabledMergePublishing Then publicationDb.EnabledMergePublishing = False ElseIf publicationDb.EnabledTransPublishing Then publicationDb.EnabledTransPublishing = False End If Else Throw New ApplicationException( _ String.Format("The {0} database does not exist.", publicationDbName)) End If ' We cannot uninstall the Publisher if there are still Subscribers. If distributor.RegisteredSubscribers.Count = 0 Then ' Uninstall the Publisher, if it exists. publisher = New DistributionPublisher(publisherName, distributorConn) If publisher.LoadProperties() Then publisher.Remove(False) Else ' Do something here if the Publisher does not exist. Throw New ApplicationException(String.Format( _ "{0} is not a Publisher for {1}.", publisherName, distributorName)) End If ' Drop the distribution database. If distributionDb.LoadProperties() Then distributionDb.Remove() Else ' Do something here if the distribition DB does not exist. Throw New ApplicationException(String.Format( _ "The distribution database '{0}' does not exist on {1}.", _ distributionDbName, distributorName)) End If ' Uninstall the Distributor, if it exists. If distributor.LoadProperties() Then ' Passing a value of false means that the Publisher ' and distribution databases must already be uninstalled, ' and that no local databases be enabled for publishing. distributor.UninstallDistributor(False) Else 'Do something here if the distributor does not exist. Throw New ApplicationException(String.Format( _ "The Distributor '{0}' does not exist.", distributorName)) End If Else Throw New ApplicationException("You must first delete all subscriptions.") End If Catch ex As Exception ' Implement appropriate error handling here. Throw New ApplicationException("The Publisher and Distributor could not be uninstalled", ex) Finally publisherConn.Disconnect() distributorConn.Disconnect() End Try

