sp_dropdistributiondb (Transact-SQL)

S’applique à : SQL Server Azure SQL Managed Instance

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 le serveur de distribution sur n’importe quelle base de données.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_dropdistributiondb
    [ @database = ] N'database'
    [ , [ @former_ag_secondary = ] former_ag_secondary ]
[ ; ]

Arguments

[ @database = ] N’database'

Base de données à supprimer. @database est sysname, sans valeur par défaut.

[ @former_ag_secondary = ] former_ag_secondary

Spécifie si ce nœud faisait précédemment partie d’un groupe de disponibilité pour la base de données de distribution. @former_ag_secondary est int, avec une valeur par défaut de 0.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Notes

sp_dropdistributiondb est utilisé dans tous les types de réplication.

Cette procédure stockée doit être exécutée avant de supprimer le serveur de distribution en exécutant sp_dropdistributor.

sp_dropdistributiondb supprime également un travail de l’Agent de lecture de file d’attente pour la base de données de distribution, s’il en existe un.

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. Une capture instantanée de base de données est une copie hors connexion en lecture seule d’une base de données et n’est pas liée à un instantané de réplication. Pour plus d’informations, consultez Captures instantanées de base de données (SQL Server).

Exemples

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

autorisations

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