Compartir a través de


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 temas Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_dropdistributiondb [ @database= ] 'database'

Argumentos

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

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

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 solo 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 (SQL Server).

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'AdventureWorks2012';

-- Disable the publication database.
USE [AdventureWorks2012]
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 del servidor sysadmin pueden ejecutar sp_dropdistributiondb.

Vea también

Referencia

sp_adddistributiondb (Transact-SQL)

sp_changedistributiondb (Transact-SQL)

sp_helpdistributiondb (Transact-SQL)

Procedimientos almacenados de replicación (Transact-SQL)

Conceptos

Deshabilitar la publicación y la distribución