Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Azure SQL Managed Instance
Deixa cair uma base de dados de distribuição. Elimina os ficheiros físicos usados pela base de dados se não forem usados por outra base de dados. Este procedimento armazenado é executado no Distribuidor em qualquer base de dados.
Transact-SQL convenções de sintaxe
Sintaxe
sys.sp_dropdistributiondb
[ @database = ] N'database'
[ , [ @former_ag_secondary = ] former_ag_secondary ]
[ ; ]
Arguments
@database [ = ] N'base de dados'
A base de dados para largar. @database é sysname, sem padrão.
[ @former_ag_secondary = ] former_ag_secondary
Especifica se este nó fazia anteriormente parte de um grupo de disponibilidade para a base de dados de distribuição.
@former_ag_secondary é int, com um padrão de 0.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Remarks
sp_dropdistributiondb é usado em todos os tipos de replicação.
Este procedimento armazenado deve ser executado antes de descartar o Distribuidor, executando sp_dropdistributor.
sp_dropdistributiondb também remove um trabalho de Agente Leitor de Fila para a base de dados de distribuição, caso exista.
Para desativar a distribuição, a base de dados de distribuição deve estar online. Se existir um snapshot da base de dados para a base de dados de distribuição, este deve ser eliminado antes de desativar a distribuição. Um snapshot de base de dados é uma cópia offline de apenas leitura de uma base de dados, e não está relacionado com um snapshot de replicação. Para mais informações, consulte Snapshots da base de dados (SQL Server).
Exemplos
-- 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
Permissions
Somente membros da função de servidor fixa sysadmin podem executar sp_dropdistributiondbo .