Partager via


sp_droparticle (Transact-SQL)

Supprime un article d'une publication transactionnelle ou d'instantané. Un article ne peut être supprimé s'il fait l'objet d'un ou plusieurs abonnements. Cette procédure stockée est exécutée sur le serveur de publication, dans la base de données de publication.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL

Syntaxe

sp_droparticle [ @publication= ] 'publication' 
        , [ @article= ] 'article'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @force_invalidate_snapshot= ] force_invalidate_snapshot ]
    [ , [ @publisher = ] 'publisher' ]
    [ , [ @from_drop_publication = ] from_drop_publication ]

Arguments

  • [ @publication=] 'publication'
    Nom de la publication contenant l'article à supprimer. publication est de type sysname, sans valeur par défaut.

  • [ @article=] 'article'
    Nom de l'article à supprimer. article est de type sysname, sans valeur par défaut.

  • [ @ignore_distributor =] ignore_distributor
    Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

  • [ @force_invalidate_snapshot = ] force_invalidate_snapshot
    Signale que l'action entreprise par cette procédure stockée peut invalider un instantané existant. force_invalidate_snapshot est de type bit, avec 0 comme valeur par défaut.

    0 indique que les modifications apportées à l'article n'invalident pas l'instantané. Si la procédure stockée détecte que la modification requiert un nouvel instantané, une erreur est générée et aucune modification n'est effectuée.

    1 indique que les modifications apportées à l'article peuvent entraîner l'invalidation de l'instantané. En outre, s'il existe déjà des abonnements nécessitant un nouvel instantané, cette valeur permet de marquer l'instantané existant comme obsolète et de générer un nouvel instantané.

  • [ @publisher= ] 'publisher'
    Spécifie un serveur de publication non Microsoft SQL Server. publisher est de type sysname, avec NULL comme valeur par défaut.

    [!REMARQUE]

    publisher ne doit pas être utilisé lors de la modification des propriétés d'article sur un serveur de publication SQL Server.

  • [ @from_drop_publication= ] from_drop_publication
    Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Notes

La procédure sp_droparticle est utilisée dans les réplications transactionnelles et d'instantané.

Dans le cas des articles filtrés horizontalement, sp_droparticle vérifie la colonne type de l'article dans la table sysarticles (Transact-SQL) pour déterminer si une vue ou un filtre doivent également être supprimés. Si une vue ou un filtre ont été générés automatiquement, ils sont supprimés avec l'article. S'ils ont été créés manuellement, ils ne sont pas supprimés.

L'exécution de sp_droparticle pour supprimer un article d'une publication ne supprime pas l'objet de la base de données de publication ni l'objet correspondant de la base de données d'abonnement. Utilisez DROP <object> pour supprimer ces objets manuellement si nécessaire.

Exemple

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksProductTran'; 
SET @article = N'Product'; 

-- Drop the transactional article.
USE [AdventureWorks2012]
EXEC sp_droparticle 
  @publication = @publication, 
  @article = @article,
  @force_invalidate_snapshot = 1;
GO

Autorisations

Seuls les membres appartenant au rôle serveur fixe sysadmin ou au rôle de base de données fixe db_owner peuvent exécuter sp_droparticle.

Voir aussi

Référence

sp_addarticle (Transact-SQL)

sp_changearticle (Transact-SQL)

sp_helparticle (Transact-SQL)

sp_helparticlecolumns (Transact-SQL)

Procédures stockées de réplication (Transact-SQL)

Concepts

Supprimer un article

Ajouter et supprimer des articles de publications existantes