sp_dropmergearticle (Transact-SQL)
S’applique à :SQL Server
Supprime un article d'une publication de fusion. 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_dropmergearticle
[ @publication = ] N'publication'
, [ @article = ] N'article'
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @reserved = ] reserved ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ , [ @ignore_merge_metadata = ] ignore_merge_metadata ]
[ ; ]
Arguments
[ @publication = ] N’publication'
Nom de la composition à partir de laquelle supprimer un article. @publication est sysname, sans valeur par défaut.
[ @article = ] N’article'
Nom de l’article à supprimer de la composition donnée. @article est sysname, sans valeur par défaut. Si all
, tous les articles existants de la composition de fusion spécifiée sont supprimés. Même si @article est all
, la publication doit toujours être supprimée séparément de l’article.
[ @ignore_distributor = ] ignore_distributor
Indique si cette procédure stockée est exécutée sans se connecter au serveur de distribution. @ignore_distributor est bit, avec la valeur par défaut 0
.
[ @reserved = ] réservé
Réservé pour un usage futur. @reserved est bit, avec la valeur par défaut 0
.
[ @force_invalidate_snapshot = ] force_invalidate_instantané
Active ou désactive la possibilité d'invalider un instantané. @force_invalidate_instantané est bit, avec la valeur par défaut 0
.
0
spécifie que les modifications apportées à l’article de fusion n’entraînent pas l’instantané non valide.1
signifie que les modifications apportées à l’article de fusion peuvent entraîner l’instantané non valide et, si c’est le cas, une valeur de1
donner l’autorisation pour la nouvelle instantané se produit.
[ @force_reinit_subscription = ] force_reinit_subscription
Confirme que la suppression de l'article nécessite la réinitialisation des abonnements existants. @force_reinit_subscription est bit, avec la valeur par défaut 0
.
0
spécifie que la suppression de l’article n’entraîne pas la réinitialisation de l’abonnement.1
signifie que la suppression de l’article entraîne la réinitialisation des abonnements existants et autorise la réinitialisation de l’abonnement.
[ @ignore_merge_metadata = ] ignore_merge_metadata
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_dropmergearticle
est utilisé dans la réplication de fusion. Pour plus d’informations sur la suppression d’articles, consultez Ajouter des articles à des publications existantes et supprimer des articles.
L’exécution sp_dropmergearticle
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 manuellement ces objets le cas échéant.
Autorisations
Seuls les membres du rôle serveur fixe sysadmin ou le rôle de base de données fixe db_owner peuvent s’exécuter sp_dropmergearticle
.
Exemples
Cet article requiert l'exemple de bases de données AdventureWorks2022
, que vous pouvez télécharger à partir de la page d'accueil des exemples et projets de communautés Microsoft SQL Server.
A. Supprimer des articles d’une publication de fusion
USE [AdventureWorks2022];
GO
DECLARE @publication AS SYSNAME;
DECLARE @article1 AS SYSNAME;
DECLARE @article2 AS SYSNAME;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @article1 = N'SalesOrderDetail';
SET @article2 = N'SalesOrderHeader';
EXEC sp_dropmergearticle @publication = @publication,
@article = @article1,
@force_invalidate_snapshot = 1;
EXEC sp_dropmergearticle @publication = @publication,
@article = @article2,
@force_invalidate_snapshot = 1;
GO
B. Supprimer les filtres de jointure de fusion et les articles connexes
USE [AdventureWorks2022];
GO
DECLARE @publication AS SYSNAME;
DECLARE @table1 AS SYSNAME;
DECLARE @table2 AS SYSNAME;
DECLARE @table3 AS SYSNAME;
DECLARE @salesschema AS SYSNAME;
DECLARE @hrschema AS SYSNAME;
DECLARE @filterclause AS NVARCHAR(1000);
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @table1 = N'Employee';
SET @table2 = N'SalesOrderHeader';
SET @table3 = N'SalesOrderDetail';
SET @salesschema = N'Sales';
SET @hrschema = N'HumanResources';
SET @filterclause = N'Employee.LoginID = HOST_NAME()';
-- Drop the merge join filter between SalesOrderHeader and SalesOrderDetail.
EXEC sp_dropmergefilter @publication = @publication,
@article = @table3,
@filtername = N'SalesOrderDetail_SalesOrderHeader',
@force_invalidate_snapshot = 1,
@force_reinit_subscription = 1;
-- Drop the merge join filter between Employee and SalesOrderHeader.
EXEC sp_dropmergefilter @publication = @publication,
@article = @table2,
@filtername = N'SalesOrderHeader_Employee',
@force_invalidate_snapshot = 1,
@force_reinit_subscription = 1;
-- Drop the article for the SalesOrderDetail table.
EXEC sp_dropmergearticle @publication = @publication,
@article = @table3,
@force_invalidate_snapshot = 1,
@force_reinit_subscription = 1;
-- Drop the article for the SalesOrderHeader table.
EXEC sp_dropmergearticle @publication = @publication,
@article = @table2,
@force_invalidate_snapshot = 1,
@force_reinit_subscription = 1;
-- Drop the article for the Employee table.
EXEC sp_dropmergearticle @publication = @publication,
@article = @table1,
@force_invalidate_snapshot = 1,
@force_reinit_subscription = 1;
GO
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : tout au long de 2024, nous allons éliminer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d'informations, consultez :Envoyer et afficher des commentaires pour