sp_droparticle (Transact-SQL)

Supprime un article d'une publication transactionnelle ou de capture instantanée. 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 rubriqueConventions 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
    Accepte que l'action exécutée par cette procédure stockée puisse invalider une capture instantanée existante. 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 la capture instantanée. Si la procédure stockée détecte que la modification requiert une nouvelle capture instantanée, un message d'erreur est généré et aucune modification n'est effectuée.

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

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

    [!REMARQUE]

    L'argument publisher ne doit pas être utilisé lors de la modification de 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 retournés

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

Notes

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

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 [AdventureWorks]
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.