sp_dropdistpublisher (Transact-SQL)sp_dropdistpublisher (Transact-SQL)

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceAnwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance

Löscht einen Verteilungsverleger.Drops a distribution Publisher. Diese gespeicherte Prozedur wird auf dem Verteiler für jede Datenbank ausgeführt.This stored procedure is executed at the Distributor on any database.

Symbol für Themenlink Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

  
sp_dropdistpublisher [ @publisher = ] 'publisher'  
    [ , [ @no_checks = ] no_checks ]  
    [ , [ @ignore_distributor = ] ignore_distributor ]  

ArgumenteArguments

[ @publisher = ] 'publisher' Der Verleger, der gelöscht werden soll.[ @publisher = ] 'publisher' Is the Publisher to drop. Publisher ist vom Datentyp vom Datentyp sysnameund hat keinen Standardwert.publisher is sysname, with no default.

[ @no_checks = ] no_checks Gibt an, ob sp_dropdistpublisher überprüft, ob der Verleger den Server als Verteiler deinstalliert hat.[ @no_checks = ] no_checks Specifies whether sp_dropdistpublisher checks that the Publisher has uninstalled the server as the Distributor. no_checks ist vom Typ Bit. der Standardwert ist 0.no_checks is bit, with a default of 0.

Bei einem Wert von 0überprüft die Replikation, ob der Remote Verleger den lokalen Server als Verteiler deinstalliert hat.If 0, replication verifies that the remote Publisher has uninstalled the local server as the Distributor. Wenn es sich beim Verleger um einen lokalen Verleger handelt, überprüft die Replikation, ob sich auf dem lokalen Server keine Veröffentlichungs- oder Verteilungsobjekte mehr befinden.If the Publisher is local, replication verifies that there are no publication or distribution objects remaining on the local server.

Bei 1werden alle dem Verteilungs Verleger zugeordneten Replikations Objekte gelöscht, selbst wenn ein Remote Verleger nicht erreicht werden kann.If 1, all the replication objects associated with the distribution Publisher are dropped even if a remote Publisher cannot be reached. Danach muss der Remote Verleger die Replikation mithilfe sp_dropdistributor mit ** @ ignore_distributor** = 1deinstallieren.After doing this, the remote Publisher must uninstall replication using sp_dropdistributor with @ignore_distributor = 1.

[ @ignore_distributor = ] ignore_distributor Gibt an, ob Verteilungs Objekte auf dem Verteiler verbleiben, wenn der Verleger entfernt wird.[ @ignore_distributor = ] ignore_distributor Specifies whether distribution objects are left at the Distributor when the Publisher is removed. ignore_distributor ist vom Bit und kann einen der folgenden Werte aufweisen:ignore_distributor is bit and can be one of these values:

1 = Verteilungs Objekte, die dem Verleger angehören, bleiben auf dem Verteiler.1 = distribution objects belonging to the publisher remain at the Distributor.

0 = Verteilungs Objekte für den Verleger werden auf dem Verteiler bereinigt.0 = distribution objects for the publisher are cleaned-up at the Distributor.

RückgabecodewerteReturn Code Values

0 (Erfolg) oder 1 (Fehler)0 (success) or 1 (failure)

HinweiseRemarks

sp_dropdistpublisher wird bei allen Replikations Typen verwendet.sp_dropdistpublisher is used in all types of replication.

Wenn beim Löschen eines Oracle-Verlegers der Verleger nicht gelöscht werden kann sp_dropdistpublisher wird ein Fehler zurückgegeben, und die Verteiler Objekte für den Verleger werden entfernt.When dropping an Oracle Publisher, if unable to drop the Publisher sp_dropdistpublisher returns an error and the Distributor objects for the Publisher are removed.

BeispielExample

-- 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".

-- Disable publishing and distribution.
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB as sysname;
SET @distributionDB = N'distribution';
SET @publisher = $(DistPubServer);
SET @publicationDB = N'AdventureWorks2012';

-- Disable the publication database.
USE [AdventureWorks2012]
EXEC sp_removedbreplication @publicationDB;

-- Remove the registration of the local Publisher at the Distributor.
USE master
EXEC sp_dropdistpublisher @publisher;

-- Delete the distribution database.
EXEC sp_dropdistributiondb @distributionDB;

-- Remove the local server as a Distributor.
EXEC sp_dropdistributor;
GO

BerechtigungenPermissions

Nur Mitglieder der festen Server Rolle sysadmin können sp_dropdistpublisherausführen.Only members of the sysadmin fixed server role can execute sp_dropdistpublisher.

Weitere InformationenSee Also

Deaktivieren der Veröffentlichung und Verteilung Disable Publishing and Distribution
sp_adddistpublisher (Transact-SQL-) sp_adddistpublisher (Transact-SQL)
sp_changedistpublisher (Transact-SQL) sp_changedistpublisher (Transact-SQL)
sp_helpdistpublisher (Transact-SQL) sp_helpdistpublisher (Transact-SQL)
Gespeicherte Automatisierungsprozeduren (Transact-SQL)Replication Stored Procedures (Transact-SQL)