Share via


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 Datenbank, die gelöscht werden soll. 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 eine Datenbankmomentaufnahme für die Verteilungsdatenbank vorhanden ist, muss diese vor dem Deaktivieren der Verteilung gelöscht werden. Eine Datenbankmomentaufnahme ist eine schreibgeschützte Offlinekopie einer Datenbank und steht in keinem Zusammenhang mit einer Replikationsmomentaufnahme. Weitere Informationen finden Sie unter Datenbank-Momentaufnahmen (SQL Server).

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

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin können sp_dropdistributiondb ausführen.

Siehe auch

Verweis

sp_adddistributiondb (Transact-SQL)

sp_changedistributiondb (Transact-SQL)

sp_helpdistributiondb (Transact-SQL)

Gespeicherte Replikationsprozeduren (Transact-SQL)

Konzepte

Deaktivieren der Veröffentlichung und Verteilung