sp_dropdistributor (Transact-SQL)
Gilt für: SQL Server Azure 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. Wennsp_dropdistributor
keine Verbindung mit dem Distributor hergestellt werden kann, schlägt die gespeicherte Prozedur fehl.Wenn
1
keine 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
(erfolgreich) 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
.