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