sp_droparticle (Transact-SQL)

S’applique à :SQL ServerAzure 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_instantané

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

  • 0spécifie que les modifications apportées à l’article n’entraînent pas l’instantané non valide. 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.

  • 1spécifie que les modifications apportées à l’article peuvent entraîner l’instantané non valide et, si des abonnements existants nécessitent un nouveau instantané, donnent l’autorisation à l’instantané existante d’être marquée comme obsolète et qu’une nouvelle instantané générée.

[ @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_droparticleest utilisé dans instantané et la réplication transactionnelle.

Pour les articles filtrés horizontalement, sp_droparticle case activée 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.