Partager via


sp_dropdistributiondb (Transact-SQL)

Supprime une base de données de distribution. Supprime les fichiers physiques utilisés par la base de données s'ils ne sont pas utilisés par une autre base de données. Cette procédure stockée est exécutée sur n'importe quelle base de données du serveur de distribution.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL

Syntaxe

sp_dropdistributiondb [ @database= ] 'database'

Arguments

  • [ @database=] 'database'
    Base de données à supprimer. database est de type sysname, sans valeur par défaut.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Notes

La procédure stockée sp_dropdistributiondb est utilisée dans tous les types de réplication.

Elle doit être exécutée avant la suppression du serveur de distribution à l'aide de sp_dropdistributor.

sp_dropdistributiondb permet de supprimer également un travail de l'Agent de lecture de la file d'attente relatif à la base de données de distribution, s'il existe.

Pour désactiver la distribution, la base de données remplissant cette fonction doit se trouver en ligne. Également, si un instantané existe pour la base de données de distribution, elle doit être supprimée avant la désactivation de la distribution. Un instantané de base de données revient en effet à une copie hors connexion et en lecture seule de la base de données et ne correspond à aucun instantané de réplication. Pour plus d'informations, consultez Instantanés de base de données (SQL Server).

Exemple

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

Autorisations

Seuls les membres du rôle serveur fixe sysadmin peuvent exécuter sp_dropdistributiondb.

Voir aussi

Référence

sp_adddistributiondb (Transact-SQL)

sp_changedistributiondb (Transact-SQL)

sp_helpdistributiondb (Transact-SQL)

Procédures stockées de réplication (Transact-SQL)

Concepts

Désactiver la publication et la distribution