Freigeben über


sp_dropdistributor (Transact-SQL)

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

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • [ @no_checks=] no_checks
    Zeigt an, ob das Vorhandensein von abhängigen Objekten überprüft werden soll, bevor der Verteiler gelöscht wird. no_checks ist vom Datentyp bit; der Standard ist 0.

    Ist der Wert 0, stellt sp_dropdistributor durch Überprüfen sicher, dass alle Veröffentlichungs- und Verteilungsobjekte zusätzlich zum Verteiler gelöscht wurden.

    Ist der Wert 1, löscht sp_dropdistributor alle Veröffentlichungs- und Verteilungsobjekte vor dem Deinstallieren des Verteilers.

  • [ @ignore_distributor=] ignore_distributor
    Gibt an, ob diese gespeicherte Prozedur ausgeführt wird, ohne eine Verbindung mit dem Verteiler herzustellen. ignore_distributor ist vom Datentyp bit; der Standard ist 0.

    Ist der Wert 0, stellt sp_dropdistributor eine Verbindung mit dem Verteiler her und entfernt alle Replikationsobjekte. Wenn sp_dropdistributor keine Verbindung mit dem Verteiler herstellen kann, schlägt die gespeicherte Prozedur fehl.

    Wenn der Wert 1 ist, wird keine Verbindung mit dem Verteiler hergestellt, und die Replikationsobjekte werden nicht entfernt. Diese Möglichkeit wird verwendet, wenn der Verteiler deinstalliert wird oder dauerhaft offline ist. Die Objekte für diesen Verleger werden auf dem Verteiler nicht entfernt, bis der Verteiler zu einem späteren Zeitpunkt neu installiert wird.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_dropdistributor wird für alle Replikationstypen verwendet.

Wenn andere Verleger- oder Verteilungsobjekte auf dem Server vorhanden sind, schlägt sp_dropdistributor fehl, es sei denn, @no_checks ist auf den Wert 1 festgelegt.

Diese gespeicherte Prozedur muss ausgeführt werden, nachdem die Verteilungsdatenbank durch Ausführen von sp_dropdistributiondb gelöscht wurde.

Beispiel

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

-- Disable the publication database.
USE [AdventureWorks]
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 sp_dropdistributor ausführen.