Partilhar via


sp_dropdistributiondb (Transact-SQL)

Descarta um banco de dados de distribuição. Descartará os arquivos físicos usados pelo banco de dados se eles não forem usados por outro banco de dados. Esse procedimento armazenado é executado no Distribuidor, em qualquer banco de dados.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sp_dropdistributiondb [ @database= ] 'database'

Argumentos

  • [ @database=] 'database'
    É o banco de dados a ser descartado. database é sysname, sem padrão.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

sp_dropdistributiondb é usado em todos os tipos de replicação.

Esse procedimento armazenado deve ser executado antes de descartar o Distribuidor, executando sp_dropdistributor.

sp_dropdistributiondb também remove um trabalho do Queue Reader Agent para o banco de dados de distribuição, se existir um.

Para desabilitar distribuição, o banco de dados de distribuição deve estar online. Se um instantâneo do banco de dados existir para o banco de dados de distribuição, deverá ser descartado antes de desabilitar distribuição. O instantâneo do banco de dados é uma cópia offline somente leitura de um banco de dados e não está relacionado a um instantâneo de replicação. Para obter mais informações, consulte Instantâneos do Banco de Dados.

Exemplo

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

Permissões

Somente membros da função de servidor fixa sysadmin podem executar sp_dropdistributiondb.