sp_dropdistributor (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

Deinstalliert den Verteiler. Diese gespeicherte Prozedur wird auf dem Verteiler für jede Datenbank mit Ausnahme der Verteilungsdatenbank ausgeführt.

Transact-SQL-Syntaxkonventionen

Syntax

sp_dropdistributor
    [ [ @no_checks = ] no_checks ]
    [ , [ @ignore_distributor = ] ignore_distributor ]
[ ; ]

Argumente

[ @no_checks = ] no_checks

Gibt an, ob vor dem Löschen des Verteilers auf abhängige Objekte überprüft werden soll. @no_checks ist bit, mit einem Standardwert von 0.

  • Wenn 0, sp_dropdistributor überprüft, ob alle Veröffentlichungs- und Verteilungsobjekte gelöscht wurden, zusätzlich zum Distributor.

  • Wenn 1, sp_dropdistributor legt alle Veröffentlichungs- und Verteilungsobjekte ab, bevor der Distributor deinstalliert wird.

[ @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.

  • Wenn 0, sp_dropdistributor stellt eine Verbindung mit dem Distributor und entfernt alle Replikationsobjekte. Wenn sp_dropdistributor keine Verbindung mit dem Distributor hergestellt werden kann, schlägt die gespeicherte Prozedur fehl.

  • Wenn 1keine Verbindung mit dem Distributor hergestellt wird und die Replikationsobjekte nicht entfernt werden. Diese Option wird verwendet, wenn der Distributor deinstalliert oder dauerhaft offline ist. Die Objekte für diesen Publisher im Distributor werden erst entfernt, wenn der Distributor zu einem späteren Zeitpunkt neu installiert wird.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler).

Hinweise

sp_dropdistributor wird in allen Replikationstypen verwendet.

Wenn auf dem Server andere Publisher- oder Verteilungsobjekte vorhanden sind, schlägt ein Fehler fehl, es sei denn, sp_dropdistributor @no_checks auf .1

Diese gespeicherte Prozedur muss nach dem Ablegen der Verteilungsdatenbank ausgeführt werden, indem sie ausgeführt wird sp_dropdistributiondb.

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

-- 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'AdventureWorks2022';

-- Disable the publication database.
USE [AdventureWorks2022]
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

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin können ausgeführt werden sp_dropdistributor.