Condividi tramite


sp_dropdistributiondb (Transact-SQL)

Elimina un database di distribuzione. Rimuove i file fisici utilizzati dal database se non sono utilizzati da un altro database. Questa stored procedure viene eseguita in qualsiasi database del server di distribuzione.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_dropdistributiondb [ @database= ] 'database'

Argomenti

  • [ @database=] 'database'
    Database da eliminare. database è di tipo sysname e non prevede alcun valore predefinito.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

sp_dropdistributiondb viene utilizzata per tutti i tipi di replica.

Questa stored procedure deve essere eseguita prima di eliminare il server di distribuzione tramite sp_dropdistributor.

sp_dropdistributiondb rimuove inoltre i processi dell'agente di lettura coda per il database di distribuzione eventualmente esistenti.

Per disattivare la distribuzione, è necessario che il database di distribuzione sia in linea. Se esiste uno snapshot per il database di distribuzione, deve essere eliminato prima della disattivazione della distribuzione. Uno snapshot del database è una copia non in linea e di sola lettura di un database e non è correlato a uno snapshot di replica. Per ulteriori informazioni, vedere Snapshot del database.

Esempio

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

-- Disable the publication database.
USE [AdventureWorks2008R2]
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.