Freigeben über


sp_dropdistributiondb (Transact-SQL)

Löscht eine Verteilungsdatenbank. Löscht die von der Datenbank verwendeten physischen Dateien, falls sie nicht von einer anderen Datenbank verwendet werden. Diese gespeicherte Prozedur wird auf dem Verteiler für jede Datenbank ausgeführt.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_dropdistributiondb [ @database= ] 'database'

Argumente

  • [ @database=] 'database'
    Die zu löschende Datenbank. database ist vom Datentyp sysname und hat keinen Standardwert.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_dropdistributiondb wird für alle Replikationstypen verwendet.

Diese gespeicherte Prozedur muss ausgeführt werden, bevor der Verteiler durch Ausführen von sp_dropdistributor gelöscht wird.

sp_dropdistributiondb entfernt gegebenenfalls auch einen Auftrag des Warteschlangenlese-Agents für die Verteilungsdatenbank.

Zum Deaktivieren der Verteilung muss die Verteilungsdatenbank online geschaltet sein. Wenn ein Datenbanksnapshot für die Verteilungsdatenbank vorhanden ist, muss dieser vor dem Deaktivieren der Verteilung gelöscht werden. Ein Datenbanksnapshot ist eine schreibgeschützte Offlinekopie einer Datenbank und steht in keinem Zusammenhang mit einem Replikationssnapshot. Weitere Informationen finden Sie unter Datenbanksnapshots.

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_dropdistributiondb ausführen.