sp_dropdistributiondb (Transact-SQL)

Quita una base de datos de distribución. Quita los archivos físicos que utiliza la base de datos si no son usados por ninguna otra base de datos. Este procedimiento almacenado se ejecuta en el distribuidor de cualquier base de datos.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_dropdistributiondb [ @database= ] 'database'

Argumentos

  • [ @database=] 'database'
    Es la base de datos que se quita. database es de tipo sysname y no tiene ningún valor predeterminado.

Valores de código de retorno

0 (correcto) o 1 (error)

Notas

sp_dropdistributiondb se utiliza en todos los tipos de replicación.

Este procedimiento almacenado se debe ejecutar antes de quitar el distribuidor mediante la ejecución de sp_dropdistributor.

sp_dropdistributiondb también quita un trabajo de Agente de lectura de cola de 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 de sólo lectura sin conexión 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.

Ejemplo

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

Permisos

Sólo los miembros de la función fija del servidor sysadmin pueden ejecutar sp_dropdistributiondb.