sp_dropdistributiondb (Transact-SQL)
Se aplica a: SQL Server
Azure SQL Instancia administrada
Quita una base de datos de distribución. Quita los archivos físicos utilizados por la base de datos si no los usa otra base de datos. Este procedimiento almacenado se ejecuta en el distribuidor en cualquier base de datos.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_dropdistributiondb
[ @database = ] N'database'
[ , [ @former_ag_secondary = ] former_ag_secondary ]
[ ; ]
Argumentos
[ @database = ] N'database'
Base de datos que se va a quitar. @database es sysname, sin ningún valor predeterminado.
[ @former_ag_secondary = ] former_ag_secondary
Especifica si este nodo formaba parte anteriormente de un grupo de disponibilidad para la base de datos de distribución. @former_ag_secondary es int, con un valor predeterminado de 0
.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Comentarios
sp_dropdistributiondb
se usa en todos los tipos de replicación.
Este procedimiento almacenado debe ejecutarse antes de quitar el distribuidor ejecutando sp_dropdistributor
.
sp_dropdistributiondb
también quita un trabajo del Agente de lectura de cola para la base de datos de distribución, si existe uno.
Para deshabilitar la distribución, la base de datos de distribución debe estar en línea. Si hay una instantánea de base de datos para la base de datos de distribución, debe quitarse antes de deshabilitar la distribución. Una instantánea de base de datos es una copia sin conexión de solo lectura de una base de datos y no está relacionada con una instantánea de replicación. Para obtener más información, vea Instantáneas de base de datos (SQL Server).
Ejemplos
-- 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
Permisos
Solo los miembros del rol fijo de servidor sysadmin pueden ejecutar sp_dropdistributiondb
.
Contenido relacionado
- Disable Publishing and Distribution (Deshabilitar la publicación y la distribución)
- sp_adddistributiondb (Transact-SQL)
- sp_changedistributiondb (Transact-SQL)
- sp_helpdistributiondb (Transact-SQL)
- Procedimientos almacenados de replicación (Transact-SQL)