sp_dropdistributiondb (Transact-SQL)
Si applica a: SQL Server Istanza gestita di SQL di Azure
Elimina un database di distribuzione. Elimina i file fisici usati dal database se non vengono usati da un altro database. Questa stored procedure viene eseguita in qualsiasi database del server di distribuzione.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_dropdistributiondb
[ @database = ] N'database'
[ , [ @former_ag_secondary = ] former_ag_secondary ]
[ ; ]
Argomenti
[ @database = ] N'database'
Database da eliminare. @database è sysname, senza impostazione predefinita.
[ @former_ag_secondary = ] former_ag_secondary
Specifica se questo nodo faceva parte in precedenza di un gruppo di disponibilità per il database di distribuzione. @former_ag_secondary è int, con un valore predefinito .0
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
sp_dropdistributiondb
viene usato in tutti i tipi di replica.
Questa stored procedure deve essere eseguita prima di eliminare il server di distribuzione eseguendo sp_dropdistributor
.
sp_dropdistributiondb
rimuove anche un processo dell'agente di lettura coda per il database di distribuzione, se presente.
Per disabilitare la distribuzione, è necessario che il database di distribuzione sia online. Se esiste uno snapshot per il database di distribuzione, deve essere eliminato prima della disabilitazione della distribuzione. Uno snapshot del database è una copia offline di sola lettura di un database e non è correlata a uno snapshot di replica. Per altre informazioni, vedere Snapshot del database (SQL Server).
Esempi
-- 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
Autorizzazioni
Solo i membri del ruolo predefinito del server sysadmin possono eseguire sp_dropdistributiondb
.