Lire en anglais

Partager via


TransPublication.RemovePullSubscription(String, String) Méthode

Définition

Supprime l'inscription pour un abonnement par extraction sur le serveur de publication.

C#
public void RemovePullSubscription (string subscriber, string subscriptionDB);

Paramètres

subscriber
String

Valeur String qui représente le nom de l'Abonné où l'abonnement par extraction existe.

subscriptionDB
String

Valeur String qui représente le nom de base de données d'abonnement.

Exemples

C#
// 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 Subscriber.
    subscriberConn.Connect();

    // Define the pull subscription.
    subscription = new TransPullSubscription();
    subscription.ConnectionContext = subscriberConn;
    subscription.PublisherName = publisherName;
    subscription.PublicationName = publicationName;
    subscription.PublicationDBName = publicationDbName;
    subscription.DatabaseName = subscriptionDbName;

    // Define the publication.
    publication = new TransPublication();
    publication.Name = publicationName;
    publication.DatabaseName = publicationDbName;
    publication.ConnectionContext = publisherConn;

    // Delete the pull subscription, if it exists.
    if (subscription.IsExistingObject)
    {
        if (publication.LoadProperties())
        {
            // Remove the pull subscription registration at the Publisher.
            publication.RemovePullSubscription(subscriberName, subscriptionDbName);
        }
        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));
        }
        // Delete the pull subscription at the Subscriber.
        subscription.Remove();
    }
    else
    {
        throw new ApplicationException(String.Format(
            "The subscription to {0} does not exist on {1}",
            publicationName, subscriberName));
    }
}
catch (Exception ex)
{
    // Implement the appropriate error handling here.
    throw new ApplicationException(String.Format(
        "The subscription to {0} could not be deleted.", publicationName), ex);
}
finally
{
    subscriberConn.Disconnect();
    publisherConn.Disconnect();
}

Remarques

La RemovePullSubscription méthode ne peut être appelée que par les membres du sysadmin rôle serveur fixe sur le serveur fixe sur le serveur de publication, par les membres du db_owner rôle de base de données fixe sur la base de données de publication ou par l’utilisateur qui a créé l’abonnement supprimé.

L’appel RemovePullSubscription équivaut à exécuter sp_dropsubscription.

S’applique à

Produit Versions
SQL Server .NET SDK 2016