Partager via


sp_droparticle (Transact-SQL)

S’applique à : SQL Server Azure SQL Managed Instance

Supprime un article d'une publication transactionnelle ou d'instantané. Un article ne peut pas être supprimé s’il existe 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.

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

[ @publication = ] N’publication'

Nom de la publication qui contient l’article à supprimer. @publication est sysname, sans valeur par défaut.

[ @article = ] N’article'

Nom de l’article à supprimer. @article est 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

Reconnaît que l’action effectuée par cette procédure stockée peut invalider un instantané existant. @force_invalidate_snapshot est bit, avec la valeur par défaut 0.

  • 0 spécifie que les modifications apportées à l’article n’entraînent pas l’invalidation de l’instantané. Si la procédure stockée détecte que la modification requiert un nouvel instantané, une erreur se produit et aucune modification n'est effectuée.

  • 1 spécifie que les modifications apportées à l’article peuvent rendre l’instantané non valide et, s’il existe des abonnements existants qui nécessitent un nouvel instantané, donne l’autorisation de marquer l’instantané existant comme obsolète et un nouvel instantané généré.

[ @publisher = ] N’publisher'

Spécifie un serveur de publication non-SQL Server. @publisher est sysname, avec la valeur par défaut NULL.

Ce paramètre 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 (réussite) ou 1 (échec).

Notes

sp_droparticle est utilisé dans la réplication d’instantané et transactionnelle.

Pour les articles filtrés horizontalement, sp_droparticle vérifie la type colonne de l’article dans la table sysarticles (Transact-SQL) pour déterminer si une vue ou un filtre doit également être supprimé. Si une vue ou un filtre a été généré automatiquement, il est supprimé avec l’article. S’il a été créé manuellement, il n’est pas supprimé.

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

Exemples

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

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

autorisations

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