Freigeben über


sp_dropmergesubscription (Transact-SQL)

Gilt für: SQL Server

Löscht ein Abonnement für eine Mergeveröffentlichung und den zugehörigen Merge-Agent. Diese gespeicherte Prozedur wird im Publisher in der Publikationsdatenbank ausgeführt.

Transact-SQL-Syntaxkonventionen

Syntax

sp_dropmergesubscription
    [ [ @publication = ] N'publication' ]
    [ , [ @subscriber = ] N'subscriber' ]
    [ , [ @subscriber_db = ] N'subscriber_db' ]
    [ , [ @subscription_type = ] N'subscription_type' ]
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @reserved = ] reserved ]
[ ; ]

Argumente

[ @publication = ] N'Publikation'

Der Name der Veröffentlichung. @publication ist "sysname" mit der Standardeinstellung "NULL. Die Publikation muss bereits vorhanden sein und den Regeln für Bezeichner entsprechen.

[ @subscriber = ] N'subscriber'

Den Namen des Abonnenten. @subscriber ist "sysname" mit der Standardeinstellung "NULL.

[ @subscriber_db = ] N'subscriber_db'

Der Name der Abonnementdatenbank. @subscriber_db ist "sysname" mit der Standardeinstellung "NULL.

[ @subscription_type = ] N'subscription_type'

Der Abonnementtyp. @subscription_type ist nvarchar(15) und kann einer dieser Werte sein.

Wert Beschreibung
all Push-, Pull- und anonyme Abonnements.
anonymous Anonymes Abonnement.
push Pushabonnement.
pull Pullabonnement.
both (Standard) Sowohl Push- als auch Pullabonnements.

[ @ignore_distributor = ] ignore_distributor

Gibt an, ob diese gespeicherte Prozedur ausgeführt wird, ohne eine Verbindung mit dem Verteiler herzustellen. @ignore_distributor ist bit, mit einem Standardwert von 0. Mit diesem Parameter kann ein Abonnement gelöscht werden, ohne Cleanuptasks auf dem Verteiler auszuführen. Es ist auch hilfreich, wenn Sie den Distributor erneut installieren müssen.

[ @reserved = ] reserviert

Für die zukünftige Verwendung reserviert. @reserved ist bit, mit einem Standardwert von 0.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Hinweise

sp_dropmergesubscription wird in der Seriendruckreplikation verwendet.

Beispiele

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables  
-- on the command line and in SQL Server Management Studio, see the 
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".

-- This batch is executed at the Publisher to remove 
-- a pull or push subscription to a merge publication.
DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorks2022Replica';

USE [AdventureWorks2022]
EXEC sp_dropmergesubscription 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB;
GO

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder die db_owner feste Datenbankrolle können ausgeführt werden sp_dropmergesubscription.